V0.1vim |
Zhicheng Wuspa |
2016-8-10 Initial.net |
摘要:本文解释了vim中的tab与space的转换关系和建议的.vimrc配置。 orm
PS: vim的配置文件有/etc/vimrc, $HOME/.vimrc。其中/etc/vimrc是全局的vim配置文件,$HOME/.vimrc是我的的配置文件。如下的设置建议写在$HOME/.vimrc中。 blog
日常咱们在写代码时控制缩进能够是:get
制表符 Tab键 it
空格符 space键 table
缩进符 > 键 ast
建议的设置: 配置
set expandtab set tabstop=4 set shiftwidth=4 set autoindent set softtabstop=4 |
这样的结果是文本中的空白/自动缩进都是用space来实现,可是删除space却能够像删tab同样一次删去固定个字符宽度。
set expandtab
expandtab用来将tab键转换为space,实际存储是space而非tab
set tabstop=4
tabstop定义了tab键显示的宽度,如4即4个字符宽度。注意,实际显示时与4个space没有区别,可是存储到文件时是一个tab。读档案时,档案中的一个tab(\t)会显示为4个space字符宽度。
set shiftwidth=4
shiftwidth定义了自动缩进时的步进长度。如4即4个字符宽度。'shiftwidth'会在使用<< or >> or [count]< or [count]>中使用。
set softtabstop=4
在进行编辑(BS)操做时,space也能够像tab同样删除固定的space数量。
set autoindent
在敲击回车开始新行的时候复制当前行的缩进到新行中。
:retab
retab命令能够将文件中的tab键所有替换为space,若是没有定义替换的space数量,将使用tabstop定义的来进行全文替换。
<< or >>
在normal模式下,使用<<或>>能够调节文本的缩进。一个<<或>>是缩前或缩进1个'shiftwidth'步长。
[count]< or [count]>
在visual模式下,使用[count]< 或者[count]>能够定制地进行缩进,缩进or缩前的列数是[count] * 'shiftwidth'
-------------------------------------
[1] http://vimcasts.org/episodes/tabs-and-spaces/
[2] VIM实用技巧, Drew Neil, 杨源 车文隆译
[3] http://blog.csdn.net/chenxiang6891/article/details/41348073