vim多行增加缩进
在Normal Mode下,命令>>將對(duì)當(dāng)前行增加縮進(jìn),而命令<<則將對(duì)當(dāng)前行減少縮進(jìn)。我們可以在命令前使用數(shù)字,來指定命令作用的范圍。例如以下命令,將減少5行的縮進(jìn):
5<<
在Insert/Replace Mode下,Ctrl-Shift-t可以增加當(dāng)前行的縮進(jìn),而Ctrl-Shift-d則可以減少當(dāng)前行的縮進(jìn)。使用0-Ctrl-Shift-d命令,將移除所有縮進(jìn)。需要注意的是,當(dāng)我們輸入命令中的“0”時(shí),Vim會(huì)認(rèn)為我們要在文本中插入一個(gè)0,并在屏幕上顯示輸入的“0”;然后當(dāng)我們執(zhí)行命令0-Ctrl-Shift-d時(shí),Vim就會(huì)意識(shí)到我們要做的是減少縮進(jìn),這時(shí)0會(huì)就會(huì)從屏幕上消失。
縮進(jìn)寬度默認(rèn)為8個(gè)空格。我們可以使用以下命令,來修改縮進(jìn)寬度:
:set shiftwidth=4
通過以下設(shè)置,每次點(diǎn)擊Tab鍵,將增加寬度為8列的Tab縮進(jìn)。
:set tabstop=8
:set softtabstop=8
:set shiftwidth=8
:set noexpandtab
使用以下設(shè)置,每次點(diǎn)擊Tab鍵,增加的縮進(jìn)將被轉(zhuǎn)化為4個(gè)空格。
:set tabstop=4
:set softtabstop=4
:set shiftwidth=4
:set expandtab
其中,expandtab選項(xiàng),用來控制是否將Tab轉(zhuǎn)換為空格。但是這個(gè)選項(xiàng)并不會(huì)改變已經(jīng)存在的文本,如果需要應(yīng)用此設(shè)置將所有Tab轉(zhuǎn)換為空格,需要執(zhí)行以下命令:
:retab!
自動(dòng)縮進(jìn)
在Vim中還可以進(jìn)行自動(dòng)縮進(jìn),主要有cindent、smartindent和autoindent三種。
cindent?Vim可以很好的識(shí)別出C和Java等結(jié)構(gòu)化程序設(shè)計(jì)語言,并且能用C語言的縮進(jìn)格式來處理程序的縮進(jìn)結(jié)構(gòu)。可以使用以下命令,啟用cindent縮進(jìn)結(jié)構(gòu):
:set cindent
smartindent?在這種縮進(jìn)模式中,每一行都和前一行有相同的縮進(jìn)量,同時(shí)這種縮進(jìn)形式能正確的識(shí)別出花括號(hào),當(dāng)遇到右花括號(hào)(}),則取消縮進(jìn)形式。此外還增加了識(shí)別C語言關(guān)鍵字的功能。如果一行是以#開頭的,那么這種格式將會(huì)被特殊對(duì)待而不采用縮進(jìn)格式。可以使用以下命令,啟用smartindent縮進(jìn)結(jié)構(gòu):
:set smartindent
autoindent?在這種縮進(jìn)形式中,新增加的行和前一行使用相同的縮進(jìn)形式。可以使用以下命令,啟用autoindent縮進(jìn)形式。
:set autoindent
| >> | 增加縮進(jìn) |
| Ctrl-Shift-t | |
| << | 減少縮進(jìn) |
| Ctrl-Shift-d | |
| :set shiftwidth=n | 設(shè)置縮進(jìn)寬度 |
| :set cindent | 啟用cindent縮進(jìn)結(jié)構(gòu) |
| :set autoindent | 啟用autoindent縮進(jìn)結(jié)構(gòu) |
| :set smartindent | 啟用smartindent縮進(jìn)結(jié)構(gòu) |
總結(jié)
- 上一篇: HWSD土壤数据库介绍
- 下一篇: 土壤数据共享