日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim 中代码的折叠和打开

發布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim 中代码的折叠和打开 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章轉載自:http://liufabin66688.blog.163.com/blog/static/13968548200810140486304/
僅用于個人學習備查收藏。

在查看代碼的時候,如果代碼十分冗長,尤其是c/c++系列的時候,

代碼結構比較讓人難以理清,主要是各種注釋、括號的匹配問題,
雖然可以用%來查看匹配的另外一半符號在哪里,但是如果這一對符號之間的代碼超過了一頁,甚至好幾頁的話,那么也是比較難以理解的。
于是可以使用這個vim所提供的折疊功能來簡化這些分析。
我使用的vim是rh9自帶的版本。

折疊的方式:

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" 時有效。 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的vim 中代码的折叠和打开的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。