個人化vim之摺疊

來源:互聯網
上載者:User

手動摺疊:
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.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.