標籤:
http://blog.163.com/[email protected]/blog/static/11135225920116891750734/
在Normal Mode下,命令>>
將對當前行增加縮排,而命令<<
則將對當前行減少縮排。我們可以在命令前使用數字,來指定命令作用的範圍。例如以下命令,將減少5行的縮排:
5<<
在Insert/Replace Mode下,Ctrl-Shift-t可以增加當前行的縮排,而Ctrl-Shift-d則可以減少當前行的縮排。使用0-Ctrl-Shift-d命令,將移除所有縮排。需要注意的是,當我們輸入命令中的“0”時,Vim會認為我們要在文本中插入一個0,並在螢幕上顯示輸入的“0”;然後當我們執行命令0-Ctrl-Shift-d時,Vim就會意識到我們要做的是減少縮排,這時0會就會從螢幕上消失。
縮排寬度預設為8個空格。我們可以使用以下命令,來修改縮排寬度:
:set shiftwidth=4
通過以下設定,每次點擊Tab鍵,將增加寬度為8列的Tab縮排。
:set tabstop=8
:set softtabstop=8
:set shiftwidth=8
:set noexpandtab
使用以下設定,每次點擊Tab鍵,增加的縮排將被轉化為4個空格。
:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab
其中,expandtab選項,用來控制是否將Tab轉換為空白格。但是這個選項並不會改變已經存在的文本,如果需要應用此設定將所有Tab轉換為空白格,需要執行以下命令:
:retab!
自動縮排
在Vim中還可以進行自動縮排,主要有cindent、smartindent和autoindent三種。
cindent Vim可以很好的識別出C和Java等結構化程式設計語言,並且能用C語言的縮排格式來處理常式的縮排結構。可以使用以下命令,啟用cindent縮排結構:
:set cindent
smartindent 在這種縮排模式中,每一行都和前一行有相同的縮排量,同時這種縮排形式能正確的識別出花括弧,當遇到右花括弧(}),則取消縮排形式。此外還增加了識別C語言關鍵字的功能。如果一行是以#開頭的,那麼這種格式將會被特殊對待而不採用縮排格式。可以使用以下命令,啟用smartindent縮排結構:
:set smartindent
autoindent 在這種縮排形式中,新增加的行和前一行使用相同的縮排形式。可以使用以下命令,啟用autoindent縮排形式。
:set autoindent
命令小結
>> |
增加縮排 |
Ctrl-Shift-t |
<< |
減少縮排 |
Ctrl-Shift-d |
:set shiftwidth=n |
設定縮排寬度 |
:set cindent |
啟用cindent縮排結構 |
:set autoindent |
啟用autoindent縮排結構 |
:set smartindent |
啟用smartindent縮排結構 |
原文地址:http://yyq123.blogspot.com/2010/10/vim-indent.html
vim多行增加縮排