手動摺疊:
zfap
你將會看到該段落被一行高亮的文本所代替。你已經建立了一個摺疊了。|zf|是一個操做符,而|ap|是一個文本對象。你能夠將|zf| 操做符跟任何一個移動命令聯用,爲所經 之處的文本建立一個摺疊。|zf| 也能在可視模式下使用
說明:ap是用以選擇一個段落。這裏a的用法以下所示:
" "this is a example" "
使用的方法就是<action>a<標識,能夠是',",],}等>
只要在內層雙引號裏面輸入va" 就會選中"this is a example"
也能夠在內層雙引號中輸入y2a" 就會複製" this is a example" "
{This is another example}
只要在{}內的任意位置輸入va}就會複製{This is another example}。
zf20G 從當前位置摺疊到20行
zfgg 從當前位置摺疊到文件頭,很是適合編程的時候隱藏文件頂部的頭文件包含,源文件註釋
做者經常使用:
寫程序時都是以函數爲單位,能夠很方便的摺疊一個函數,而保留函數頭部。以下函數,咱們將光標停留在{處,輸入zf%
#include <stdio.h>
int main(int argc, char* argv[])
{
return 0;
}
效果就出來了:
#include <stdio.h>
int main(int argc, char* argv[])
+:-- 3行 {-------------------------------------------------}
若要再閱讀那些文本,則能夠鍵入如下命令打開該摺疊:
zo
你還能夠用一下命令再關閉該摺疊:
zc
全部的摺疊命令都以'z' 開頭。展開你的想像力,這個字母看起來就像一張摺疊起來的
紙的側面。而"z" 後面可用的字母,因爲採用了幫助記憶方法選擇,很容易記得住:
zf F-old creation (建立摺疊)
zo O-pen a fold (打開摺疊)
zc C-lose a fold (關閉摺疊)
一次打開全部摺疊:
zr zR(用於有遞歸摺疊的時候,功能與zr相似)
一次關閉全部摺疊:
zm zM(用於有遞歸摺疊的時候,功能與zm相似)
更經常使用的命令:
zi (當咱們建立了摺疊之後,可使用zi關閉全部摺疊,將光標移到想瀏覽的文本處,再按zi,打開全部摺疊)
摺疊控制:
有時候,查看或記住一個摺疊在哪兒,挺不容易的。更別說用|zo| 命令來打開了。要查
看那些已定義的摺疊:
:set foldcolumn=4
這個命令將在窗口左邊顯示一小欄來標識各個摺疊。一個"+" 表示某個關閉的摺疊。一
個"-" 表示每一個打開的摺疊的開頭,而"|" 則表示該摺疊內其他的行。
取消左邊的小欄:
:set foldcolumn&
你能夠在摺疊欄內用鼠標點擊"+",以打開一個摺疊。點擊"-" ,或在它之下的某個
"|" ,將關閉一個打開的摺疊。
存儲和恢復一個摺疊:
當你關閉一個文件,去作其餘事情,或編輯其餘文件,回來之後編輯同一個文件,若是摺疊是手動方式建立的,則全部的摺疊都消失了!爲了保存摺疊,可使用:
:mkview
這將存儲那些影響文件視圖的設定及其餘內容。
稍後回到同一個文件時,能夠從新載入這個視圖:
:loadview
你能夠爲一個文件儲存多至十個視圖。例如,把當前設置儲存爲第三個視圖,並載入第
二個視圖:
:mkview 3
:loadview 2
依賴縮進摺疊:
若是但願依賴縮進摺疊,則首先須要設置
:set foldmethod=indent
若是你寫的代碼比較規範,不規範也沒事,先所有選中,而後按「=」,代碼就規範一些了。完整的命令是ggvG=
而後試試zm,zr有什麼效果,這個功能對於程序員仍是挺有用的。當咱們設置了foldmethod後就不能再手動建立摺疊了,對於我這樣喜歡不喜歡被約束的這個功能其實很不咋滴。
咱們只須要從新設置foldmethod就能夠了。
:set foldmethod& (後面加個&就是恢復默認設置,反正我是這麼理解的)
其餘摺疊方式:
依賴標識摺疊
依賴語法摺疊
依賴表達式摺疊
參見:http://vimcdoc.sourceforge.net/doc/usr_28.html#28.6
參考資料:http://vimcdoc.sourceforge.net/doc/usr_28.htmlcss