VIM設定程式碼摺疊功能

來源:互聯網
上載者:User

標籤:style   blog   http   color   os   ar   使用   strong   sp   

VIM設定程式碼摺疊功能

今天看了一下別人寫的程式的原始碼,發現是用vim寫的,代碼中有趣是用vim來摺疊代碼,一開始我以為是用外掛程式的,後來上網查了查,得出以下使用方面的技巧。

1. 摺疊方式

可用選項來設定摺疊方式:

可在Vim 設定檔中設定 set fdm=XXX
可直接在檔案中使用注釋調用vim命令 /* vim: set fdm=XXX: */

有6種方法來選定摺疊:

1 2 3 4 5 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設定程式碼摺疊功能

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.