VIM 程式碼摺疊功能
VIM程式碼摺疊功能方式可以用”foldmethod”選項來設定,如: set foldmethod=indent
有6種方式來摺疊代碼
1. manual //手工定義摺疊
2. indent //用縮排表示摺疊
3. expr //用運算式來定義摺疊
4. syntax //用文法高亮來定義摺疊
5. diff //對沒有更改的文本進行摺疊
6. marker //用標誌摺疊
vim 設定檔分為全域設定檔和使用者設定檔
1. 全域設定檔尋找,在.vim 中輸入:echo $VIM,一般為:/usr/share/vim/vimrc
2. 使用者設定檔在使用者主目錄下,如:/home/fukun/.vimrc
在vimrc檔案中設定摺疊方式:如 :set foldmethod=marker
選定摺疊方式後,就可以使用摺疊命令進行摺疊操作了.常用的摺疊方式為indent和marker.
indent是最為傻瓜式的摺疊方法,根據縮排來的,只要你的代碼保持良好的編寫規範,在函數名的那行直接按下 za 就可以進行摺疊了。
推薦大家使用:marker摺疊命令
因為比較通用,移植很方便。別人看你代碼的時候直接就可以理解。
marker摺疊方式時,我們需要用標計來標識代碼的摺疊,系統預設是{{{和}}}
摺疊命令
zf 建立摺疊,比如在marker方式下:
zf56G,建立從當前行起到56行的程式碼摺疊功能;
10zf或10zf+或zf10↓,建立從當前行起到後10行的程式碼摺疊功能。
10zf-或zf10↑,建立從當前行起到之前10行的程式碼摺疊功能。
在括弧處zf%,建立從當前行起到對應的匹配的括弧上去((),{},[],<>等)。
zd 刪除 (delete) 在游標下的摺疊。僅當 ‘foldmethod’ 設為 “manual” 或 “marker” 時有效。
zD 迴圈刪除 (Delete) 游標下的摺疊,即嵌套刪除摺疊。僅當 ‘foldmethod’ 設為 “manual” 或 “marker” 時有效。
zE 除去 (Eliminate) 視窗裡“所有”的摺疊。僅當 ‘foldmethod’ 設為 “manual” 或 “marker” 時有效。
常用命令就是 za 、 zf% 和 zd 了。
za是開啟/關閉摺疊, zf%是對匹配的內容建立摺疊,zd是刪除摺疊。
原文來自:DigDeeply's Blog