set foldmethod=indent "set default foldmethod
"zi 打開關閉摺疊
"zv 查看此行
zm 關閉摺疊
zM 關閉全部
zr 打開
zR 打開全部
zc 摺疊當前行
zo 打開當前摺疊
zd 刪除摺疊
zD 刪除全部摺疊
1. 摺疊方式
可用選項 'foldmethod' 來設定摺疊方式:set fdm=*****。
有 6 種方法來選定摺疊:
manual 手工定義摺疊
indent 更多的縮進表示更高級別的摺疊
expr 用表達式來定義摺疊
syntax 用語法高亮來定義摺疊
diff 對沒有更改的文本進行摺疊
marker 對文中的標誌摺疊
注意,每一種摺疊方式不兼容,如不能即用expr又用marker方式,我主要輪流使用indent和marker方式進行摺疊。
使用時,用:set fdm=marker 命令來設置成marker摺疊方式(fdm是foldmethod的縮寫)。
要使每次打開vim時摺疊都生效,則在.vimrc文件中添加設置,如添加:set fdm=syntax,就像添加其它的初始化設置同樣。
2. 摺疊命令
選取了摺疊方式後,咱們就能夠對某些代碼實施咱們須要的摺疊了,因爲我使用indent和marker稍微多一些,故以它們的使用爲例:
若是使用了indent方式,vim會自動的對大括號的中間部分進行摺疊,咱們能夠直接使用這些現成的摺疊成果。
在可摺疊處(大括號中間):
zc 摺疊
zC 對所在範圍內全部嵌套的摺疊點進行摺疊
zo 展開摺疊
zO 對所在範圍內全部嵌套的摺疊點展開
[z 到當前打開的摺疊的開始處。
]z 到當前打開的摺疊的末尾處。
zj 向下移動。到達下一個摺疊的開始處。關閉的摺疊也被計入。
zk 向上移動到前一折疊的結束處。關閉的摺疊也被計入。
當使用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" 時有效。
關於vim的代碼摺疊,小弟也是初學,僅作參考。
使用Vim的摺疊功能書寫程序代碼
折行的用處:
2 建立折行進行大綱預覽
2 移動到某處進行編輯
2 使用jzij打開文本進行編輯
2 編輯完畢後再用jzij打開折行進行移動
打開vim的摺疊功能,請在~/.vimrc 中加入:set foldmethod=marker ,使用vim默認的摺疊標籤進行處理。使用方法以下:
一、加摺疊標籤
在normal模式下,從鍵盤輸入zf並回車,您就會看到摺疊在一塊兒的兩行標籤以下:
/*{{{*/
.....這裏輸入您 的程序代碼
/*}}}*/
二、輸入程序代碼後,將代碼摺疊起來使用以下命令(normal模式):
zc 回車
三、打開摺疊的程序有如下幾種方法
a、在摺疊的行上移動光標
b、在normal模式下輸入zo並回車
四、給一段文字加折行(normal 模式)
zfap
五、zr命令能夠打開摺疊幾層的內容 zm使用內容摺疊的更多一些(多層摺疊操做時可反覆使用)。
六、嵌套了多層的折行, 也能夠用zR命令一次打開全部折行
七、關閉全部的嵌套折行使用zM
八、能夠用jznj命令來禁用一個折行. 而後用jzNj還能夠恢復它. jzij命令則能夠在二者之間切換.
其它的,請參考vim的使用手冊。