Vim代碼縮進設置

此頁由Linux Wiki用戶Chenxing於2008年11月19日 (星期三) 09:57的最後更改。

出自Linux Wiki

目錄

編程時代碼縮進是相當必要的,使用Vim處理代碼縮進並不困難,只要了解一些參數就可靈活運用。[1]

常用設置

縮進設置最常用的是:

:filetype indent on

它將開啟針對文件具體類型的縮進。

下面的選項需要在命令模式下用set設置的選項的含義。使用方法如:

set ci       # 开启cindent
set noet     # 关闭expandtab
set sw=4     # shiftwidth=4
與自動縮進相關的變量表
變量名 縮寫 含義
(no)autoindent ai 自動縮進,即為新行自動添加與當前行同等的縮進。
(no)cindent ci 類似C語言程序的縮進
(no)smartindent si 基於autoindent的一些改進


與TAB相關的變量表[2]
變量名 縮寫 含義
tabstop=X ts 編輯時一個TAB字符占多少個空格的位置。
shiftwidth=X sw 使用每層縮進的空格數。
(no)expandtab (no)et 是否將輸入的TAB自動展開成空格。開啟后要輸入TAB,需要Ctrl-V<TAB>
softtabstop=X sts 方便在開啟了et后使用退格(backspace)鍵,每次退格將刪除X個空格
(no)smarttab (no)sta 開啟時,在行首按TAB將加入sw個空格,否則加入ts個空格。

設置樣例

靈活使用上面的選項,就可以很好地調整縮進設置。

可以將下述設置加入到~/.vimrc中:

set sw=4
set ts=4
 
filetype indent on
autocmd FileType python setlocal et sta sw=4 sts=4

前面兩行將shiftwidth和tabstop都設為4。第三行開啟自動的縮進檢測。最後一行則根據Python語言的建議(將tab展成四個空格)進行了專門設置。

提示:
setlocal使set的效果只對當前buffer有效,不會影響到打開的其它文件。
提示:
有關Python編程的更多設置,見配置基於Vim的Python編程環境

在編程中使用縮進功能

有了上面的設置,還可以在編程時利用快捷鍵調整縮進,參見VI(VIM)編寫程序技巧#縮進

參考資料

  1. Vim幫助文檔
  2. http://www.vex.net/~x/python_and_vim.html
简体繁体转换
广告