VIM設定程式碼摺疊功能

來源:互聯網
上載者:User
VIM設定程式碼摺疊功能
來源: ChinaUnix部落格  日期: 2008.08.29 11:19 (共有條評論) 我要評論
 

                在查看代碼的時候,如果代碼十分冗長,尤其是c/c++系列的時候,
代碼結構比較讓人難以理清,主要是各種注釋、括弧的匹配問題,
雖然可以用%來查看匹配的另外一半符號在哪裡,但是如果這一對符號之間的代碼超過了一頁,甚至好幾頁的話,那麼也是比較難以理解的。
於是可以使用這個vim所提供的摺疊功能來簡化這些分析。
我使用的vim是rh9內建的版本。
摺疊的方式:
vim 提供 6中摺疊方式
          manual           手工定義摺疊
          indent             更多的縮排表示更進階別的摺疊
          expr                用運算式來定義摺疊
          syntax             用文法高亮來定義摺疊
          diff                  對沒有更改的文本進行摺疊
          marker            對文中的標誌摺疊
可用選項 'foldmethod' 來設定摺疊方式:set fdm=*****。
注意,每一種摺疊方式不相容,即:你不能用expr又用marker方式。
目前我一般使用的都是indent 比較多。
使用時,用:set fdm=indent 命令來設定成marker摺疊方式。
在.vimrc檔案中添加設定,可以使得每次開啟vi 都啟動摺疊方式。如添加:set fdm=syntax。
2. 摺疊開啟與摺合
選取了摺疊方式後,我們就可以對某些代碼實施我們需要的摺疊了。
如果使用了indent方式,vim會自動的對大括弧的中間部分進行摺疊,我們可以直接使用這些現成的摺疊成果。
indent 對應的摺疊代碼有:
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" 時有效。
原文出處:

http://hi.baidu.com/flost_li/blog/item/aede68afcc7955c87dd92af7.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.