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