每日一Vim(15)摺疊 fold

2021-09-01 16:38:36 字數 841 閱讀 1842

抱歉,今天的文章可能寫的很難懂,還請大家多多包涵。

寫程式遇到大段的**時,如果想像eclipse一樣把函式都摺疊起來,只顯示函式的簽名,或者摺疊乙個函式中小段**,這樣一來,整個檔案的**結構一覽無餘,非常清晰,如果要檢視函式裡面的具體內容就開啟,對程式設計師來說這是很實用的技巧。

vim用命令foldmethod實現摺疊功能,一共有六種摺疊方式,可以用:set foldmethod檢視當前session用的是哪種摺疊,預設vim使用manual(手動)方式。

manual

手工摺疊是最基本的摺疊方式,在處理小塊檔案的時候簡單實用。

zf   建立摺疊(fold creation)

zo 開啟摺疊(open)

zc 再次摺疊起來(close)

舉例說明:

vzf  摺疊v模式下選中的文字。(這裡的v指的是shift+v)。

zf\`a 摺疊當前游標處到標記a處的文字 (`ma`就表示在當前游標出做a標記)

zf3j 摺疊當前游標出下3行

zf10g 從當前行摺疊至第20行

zfgg 摺疊至行首

zf% 游標移至'',這樣'{}'之間的內容就可以摺疊起來

indent

vim自動根據縮排摺疊,縮排量與摺疊行的巢狀深度關係有shiftwidth控制,通過設定:set foldlevel=num,num代表數字。foldlevel=0時關閉所有摺疊,等價於zmzr設定折行為最大值

每日一Vim(20)Vim 編碼設定

vim的編碼選項 vim編碼涉及四個概念,分別是enc,fenc,fencs,tenc,一般亂碼多是因這些引數設定不正確引起的,要想徹底擺脫vim的亂碼問題,還是把這四個概念理清楚了,下面詳細介紹之。enc encoding enc的全稱為encoding,這是vim內部使用的編碼,如buffer,...

vim每日一插 一 NERDTree

這已經是準備寫的第四個系列了。當然我寫的系列都不長,目前還沒有超過三期的。有道是無志者常立志,有志者立長志。看起來我就一無誌者嘛,朝三暮四的。好吧,無所謂了,心情所致,想到什麼寫什麼吧。最近練練vim,然後無聊,又看vim的外掛程式,那麼就慢慢找些好用的外掛程式吧。今天的是nerdtree,乙個在v...

每日一Vim(11)標記

以下部分命令在之前的篇幅中有涉及過,有句話說的好 vim對新手最痛苦的是選擇太多,不知所措,對老手來說最讓人快樂的是乙個問題總有不同的解決方法,而對尋找最優方法樂此不疲 細心的讀者相信您都能從中總結出自己的規律以及經驗來。w new file 將緩衝區內容儲存為new file檔案,原檔案內容不更改...