VI(VIM)編寫程序技巧
出自Linux Wiki
熱切期盼您改進本頁,要改進本頁,請先登錄,並選擇編輯。
由於轉載不當很可能造成格式的破壞,降低文檔價值,本文不推薦轉載。但是您確實有轉載本文檔的權利,如果您一定要轉載,請一定保留本文的所有信息。
vi作為優秀的文本編輯器,同樣可以勝任程序編寫任務。本文介紹使用VI進行程序設計的一些技巧。
目錄 |
語法加亮顯示
目前的vim支持多種語言的語法高亮顯示。在命令狀態下輸入:
:syntax on
也可縮寫為:
:syn on
也可以指定語言,如C語言:
:set syntax=c
括號匹配
在命令狀態下,可以使用%進行括號匹配。即在括號處按下"%",光標會跳轉到與之匹配的括號。
在VIM 7或更高版本中,支持在插入狀態下括號的自動匹配,即高亮顯示光標所在處的括號和與之匹配的括號。若要關閉此功能,可用
:NoMatchParen
如果要再開啟,可以用
:DoMatchParen
如果要更改顏色,可以用hi,例如:
:hi MatchParen ctermbg=blue ctermfg=white
如果要更改需要匹配的符號,可以編輯matchpairs選項
註釋管理
手動地逐行加註釋一般較繁,推薦裝一些插件來快速地註釋(或取消註釋)代碼,參見Vim與程序註釋
縮進
使用自動縮進可能需要設置,vim中對自動縮進的詳細設置辦法見Vim代碼縮進設置。下面介紹調整縮進的方法:
插入狀態
- Ctrl-T
- 右縮
- Ctrl-D
- 左縮
- ^Ctrl-D
- 刪除行首空格
命令狀態下左右縮進
| >> | 右縮進 |
|---|---|
| << | 左縮進 |
| n<< 或 n>> | 縮進多行,如4>> |
可視狀態下的縮進
使用<或>進行縮進,也可使用n<或n>多節縮進
可以用 = 對選中的部分進行自動縮進。
粘貼時的自動縮進
]p 可以實現p的粘貼功能,並自動縮進
光標移動
| gd | 到局部變量的定義 |
| gD | 到全局變量的定義 |
| [[ | 到當前塊起始的{處 |
| ]] | 到當前塊結束的}處 |
| Ctrl-O | 返回到跳轉前的地方 |
配合ctags,還可使用Ctrl-]進入函數,Ctrl-T返回
其它
| K | 轉到當前函數的文檔,需要安裝manpages-dev。 |
| :set number 或 :set nu | 顯示行號 |
| :set nonumber 或 :set nonu | 不顯示行號 |
| Ctrl-N 或 Ctrl-P | 插入模式下的自動補全功能。 |
目前的問題
如果您認為您的問題有代表性,歡迎添加在這裡。如果您確認您的問題是瑣碎的問題,請到討論頁面討論。
