在Vim初探(一)和Vim初探(二)中分別介紹了Vim中模式的概念及一些簡單的文本編輯命令,如游標的移動、編輯地區的選取、拷貝、剪下、黏貼等。接下來我想介紹一下在Vim中如何摺疊和展開已設定好縮排的文本,以及如何同時查看和編輯多個文本。
一.縮排的摺疊和展開
作為程式員對於代碼的縮排肯定是再熟悉不過了。同時現在很多IDE提供了將已經縮排好的一段程式碼摺疊功能起來或者展開的功能。在Vim中我們也能做到這一點:首先需要先設定摺疊方法,:set foldmethod=indent,然後將游標移動到一段已經具備縮排的文本上(如通過<Tab>鍵設定),按下zc將縮排摺疊起來,按下zo展開縮排。這隻是縮排的摺疊與展開一個很簡單的例子,還有很多相關的內容,在這裡不做贅述,用到時可以通過:help folding來查看詳情。
二.多文檔的查看與編輯
很多時候我們需要同時開啟多個文檔進行編輯,Vim為這類操作提供了三種方式:
- 在不同視窗中開啟多個文檔。
- 在同一視窗中開啟多個文檔。
- 在不同Tab中開啟多個文檔。
1.在不同視窗中開啟多個文檔
通常情況下在Vim中開啟多個文檔時每個文檔會出現在一個單獨的視窗中。可以通過命令:b n在不同文件視窗間進行切換,其中n表示你想切換到的第幾個開啟的文檔,如當前的使用中視窗是第三個開啟的文檔,如果我想切換到第一個開啟的文檔只需執行:b 1即可。如果你還記得的話,上一節中提到了Vim將編輯的文檔會讀取到緩衝中,事實上b代表的就是buffer,所以這個命令可以解讀為buffer number 1。可以通過命令:buffers或:ls來查看當前開啟了多少個buffers。下面舉個例子來直觀的說明一下:
- 首先開啟文檔test1.txt,相關命令如:e test1.txt
- 然後開啟文檔test2.txt,相關命令如:e test2.txt
- 現在的使用中視窗為test2.txt,如果想切換到test1.txt,只需:b 1即可。
2.在同一視窗中開啟多個文檔
如果你想在同一視窗中開啟多個文檔,只需在當前開啟的視窗中執行命令:new即可,當前的視窗就會一分為二,然後在新的子視窗中開啟相關檔案即可。在不同子視窗間切換隻需按ctrl-w < h,j,k,l>或連續按ctrl-w兩次。在一個視窗中開啟多個檔案的一種特殊情況是將一個文檔在兩個子視窗中呈現,分為兩種方式:在兩個水平子視窗:sp,在兩個豎直子視窗:vsp。其中sp代表split.執行:q命令關掉其中的某個子視窗。
3.在不同Tab中開啟多個文檔
這個特性是我很喜歡的一個特性,因為瀏覽器已是我生活中不可或缺的東西,總是要在瀏覽器中開啟多個Tab(ctrl/cmd-t)。在Vim中命令 :tabnew就可以開啟一個新Tab,然後就可以在這個Tab中開啟並編輯文檔了。通過gt命令可以在不同的Tab間切換。關掉一個Tab可以使用:tabc或:q命令。還有一個命令要提一下就是:tabmove,該命令將Tab移動到指定的位置。
參考文獻
1.http://www.swaroopch.com/notes/Vim