http://blog.163.com/clevertanglei900@126/blog/static/11135225920116891750734/html
在Normal Mode下,命令>>
將對當前行增長縮進,而命令<<
則將對當前行減小縮進。咱們能夠在命令前使用數字,來指定命令做用的範圍。例如如下命令,將減小5行的縮進:vim
5<<
ide
在Insert/Replace Mode下,Ctrl-Shift-t能夠增長當前行的縮進,而Ctrl-Shift-d則能夠減小當前行的縮進。使用0-Ctrl-Shift-d命令,將移除全部縮進。須要注意的是,當咱們輸入命令中的「0」時,Vim會認爲咱們要在文本中插入一個0,並在屏幕上顯示輸入的「0」;而後當咱們執行命令0-Ctrl-Shift-d時,Vim就會意識到咱們要作的是減小縮進,這時0會就會從屏幕上消失。spa
縮進寬度默認爲8個空格。咱們能夠使用如下命令,來修改縮進寬度:設計
:set shiftwidth=4
3d
經過如下設置,每次點擊Tab鍵,將增長寬度爲8列的Tab縮進。code
:set tabstop=8
orm
:set softtabstop=8
htm
:set shiftwidth=8
blog
: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縮進結構 |