vim折叠(非常好的功能)
set foldmethod=indent "set default foldmethod
"zi 打開關(guān)閉折疊
"zv 查看此行
zm 關(guān)閉折疊
zM 關(guān)閉所有
zr 打開
zR 打開所有
zc 折疊當前行
zo 打開當前折疊
zd 刪除折疊
zD 刪除所有折疊
1. 折疊方式
可用選項 'foldmethod' 來設(shè)定折疊方式:set fdm=*****。set foldmethod = ****沒用
有 6 種方法來選定折疊:
manual?????????? 手工定義折疊
indent???????????? 更多的縮進表示更高級別的折疊
expr??????????????? 用表達式來定義折疊
syntax???????????? 用語法高亮來定義折疊
diff????????????????? 對沒有更改的文本進行折疊
marker??????????? 對文中的標志折疊
注意,每一種折疊方式不兼容,如不能即用expr又用marker方式,我主要輪流使用indent和marker方式進行折疊。
使用時,用:set fdm=marker 命令來設(shè)置成marker折疊方式(fdm是foldmethod的縮寫)。
要使每次打開vim時折疊都生效,則在.vimrc文件中添加設(shè)置,如添加:set fdm=syntax,就像添加其它的初始化設(shè)置一樣。
2. 折疊命令
選取了折疊方式后,我們就可以對某些代碼實施我們需要的折疊了,由于我使用indent和marker稍微多一些,故以它們的使用為例:
如果使用了indent方式,vim會自動的對大括號的中間部分進行折疊,我們可以直接使用這些現(xiàn)成的折疊成果。
在可折疊處(大括號中間):
zc????? 折疊
zC???? 對所在范圍內(nèi)所有嵌套的折疊點進行折疊
zo????? 展開折疊
zO???? 對所在范圍內(nèi)所有嵌套的折疊點展開
[z?????? 到當前打開的折疊的開始處。
]z?????? 到當前打開的折疊的末尾處。
zj?????? 向下移動。到達下一個折疊的開始處。關(guān)閉的折疊也被計入。
zk????? 向上移動到前一折疊的結(jié)束處。關(guān)閉的折疊也被計入。
當使用marker方式時,需要用標計來標識代碼的折疊,系統(tǒng)默認是{{{和}}},最好不要改動之:)
我們可以使用下面的命令來創(chuàng)建和刪除折疊:
zf????? 創(chuàng)建折疊,比如在marker方式下:
zf56G,創(chuàng)建從當前行起到56行的代碼折疊;
10zf或10zf+或zf10↓,創(chuàng)建從當前行起到后10行的代碼折疊。
10zf-或zf10↑,創(chuàng)建從當前行起到之前10行的代碼折疊。
在括號處zf%,創(chuàng)建從當前行起到對應(yīng)的匹配的括號上去((),{},[],<>等)。
zd????? 刪除 (delete) 在光標下的折疊。僅當 'foldmethod' 設(shè)為 "manual" 或 "marker" 時有效。
zD???? 循環(huán)刪除 (Delete) 光標下的折疊,即嵌套刪除折疊。
僅當 'foldmethod' 設(shè)為 "manual" 或 "marker" 時有效。
zE???? 除去 (Eliminate) 窗口里“所有”的折疊。
僅當 'foldmethod' 設(shè)為 "manual" 或 "marker" 時有效。
關(guān)于vim的代碼折疊,小弟也是初學,僅做參考。
使用Vim的折疊功能書寫程序代碼
折行的用處:
2 創(chuàng)建折行進行大綱預(yù)覽
2 移動到某處進行編輯
2 使用jzij打開文本進行編輯
2 編輯完畢后再用jzij打開折行進行移動
打開vim的折疊功能,請在~/.vimrc 中加入:set foldmethod=marker ,使用vim默認的折疊標簽進行處理。使用方法如下:
1、加折疊標簽
在normal模式下,從鍵盤輸入zf并回車,您就會看到折疊在一起的兩行標簽如下:
/*{{{*/
.....這里輸入您 的程序代碼
/*}}}*/
2、輸入程序代碼后,將代碼折疊起來使用如下命令(normal模式):
zc 回車
3、打開折疊的程序有以下幾種方法
a、在折疊的行上移動光標
b、在normal模式下輸入zo并回車
4、給一段文字加折行(normal 模式)
zfap
5、zr命令可以打開折疊幾層的內(nèi)容 zm使用內(nèi)容折疊的更多一些(多層折疊操作時可反復(fù)使用)。
6、嵌套了多層的折行, 也可以用zR命令一次打開所有折行
7、關(guān)閉所有的嵌套折行使用zM
8、可以用jznj命令來禁用一個折行. 然后用jzNj還可以恢復(fù)它. jzij命令則可以在兩者之間切換.
總結(jié)
以上是生活随笔為你收集整理的vim折叠(非常好的功能)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SP1026 FAVDICE - Fav
- 下一篇: CF1042E Vasya and Ma