|
代碼摺疊功能是現在流行的IDE中都具備具備的最基礎的一項功能, 甚至一些編輯器也有代碼摺疊的功能了, 比如UltraEdit, Kate....等等, vim當然在這方面也不會落後與人, 關於代碼摺疊的介紹大家可以看看幫助手冊中的這些章節, 反正都是中文, 不會讓我再翻譯成漢語拼音給你看吧^_^
:help usr_28.txt
:help fold.txt
|
我簡單摘抄一點, 省得我自己還要打字....
*28.1* 什麼是摺疊?
摺疊用於把緩衝區內某一範圍內的文本行顯示爲屏幕上的一行。就像一張紙,要它縮短
些,可以把它摺疊起來:
+------------------------------------+
| 行 1 |
| 行 2 |
| 行 3 |
|________________________|
/ /
/________________________/
/ 被摺疊的行 /
/________________________/
| 行 12 |
| 行 13 |
| 行 14 |
+-----------------------------------+
那些文本仍然在緩衝區內而沒有改變。受到摺疊影響的只是文本行顯示的方式。
摺疊的好處是,通過把多行的一節摺疊成帶有摺疊提示的一行,會使你更好地瞭解對文本
的宏觀結構。
真實的情景見下圖(圖19):
(--- 圖19 ---)
vim提供以下6種方法來選定摺疊方式:
manual
|
手工定義摺疊
|
indent
|
更多的縮進表示更高級別的摺疊
|
expr
|
用表達式來定義摺疊
|
syntax
|
用語法高亮來定義摺疊
|
diff
|
對沒有更改的文本進行摺疊
|
marker
|
對文中的標誌摺疊
|
可用選項 'foldmethod' 來設定摺疊方法。比如, 如果想按照語法高亮來定義摺疊, 則在
~/.vimrc中增加下面這行:
set foldmethod=syntax
set foldlevel=100 " 啓動vim時不要自動摺疊代碼
|
這裏主要是講編程的, 所以我就只介紹按照語法高亮來摺疊代碼, 其他的摺疊方法如果大家想用的話可以自己看看幫助手冊, 大同小異的.
按照語法高亮來摺疊代碼, 其實就是按照代碼中的一些括號來定義摺疊位置, 比如: "{ }", "/* */". 現在練習一下, 就在nomal模式下輸入命令"za", 你會發現當前光標所在的最近的一層括號被摺疊起來了, 再輸入一遍"za"命令, 這個摺疊又打開了, "za"命令就是打開/關閉當前摺疊用的, 下面是常用的一些命令:
za
|
打開/關閉當前摺疊
|
zA
|
循環地打開/關閉當前摺疊
|
zo
|
打開當前摺疊
|
zc
|
關閉當前摺疊
|
zM
|
關閉所有摺疊
|
zR
|
打開所有摺疊
|
其他還有一些我不常用的設置和命令大家可以自己看看幫助手冊吧, 我就不羅嗦了.
|
|
下載地址
|
http://www.vim.org/scripts/script.php?script_id=1735
|
版本
|
1.18
|
安裝
|
把echofunc.vim 文件丟到 ~/.vim/plugin 文件夾就好了
|
手冊
|
無
|
當編程調用一個函數時, 最可惡的是忘了這個函數參數列表的詳細定義了, 然後要跳轉到定義處看看, 再跳轉回來繼續寫, 如果參數列表太長了, 還要來回跳轉多次, 對我等記性不好的人來說簡直是折磨, 還好有貼心的人寫了這個插件, 讓我可以把精力放在Coding上, 真是偉大呀, 作者的名字叫:
Ming Bai <mbbill AT gmail DOT com>
Wu Yongwei <wuyongwei AT gmail DOT com>
看樣子是漢人, 而且還有一個是我本家, 這個猜測令我興奮不已呀...
言歸正傳, 該插件的作用是當你在vim插入(insert)模式下緊接着函數名後輸入一個"("的時候, 這個函數的聲明就會自動顯示在命令行中. 如果這個函數有多個聲明, 則可以通過按鍵"Alt+-"和"Alt+="向前和向後翻頁, 這個兩個鍵可以通過設置EchoFuncKeyPrev和EchoFuncKeyNext參數來修改. 見下圖(圖20)就是這種應用, 你先不要急着試, 先看完我下面的介紹
(--- 圖20 ---)
如果想看到上圖的效果, 還有一個要注意的地方, 這個插件的功能需要tags文件的支持, 並且在創建tags文件的時候要加選項"--fields=+lS", 整個創建tags文件的命令如下:
如果你還不會用tags文件, 先看看前面的章節<在程序中跳來跳去: Ctags 的使用>吧. 當tags文件都弄好了後, 就可以試試效果了, 是不是跟我上圖一樣呀^_^
還有一個小技巧告訴你, 當你把鼠標放在函數名上的時候會有一個tip窗口彈出, 該窗口中也會有函數的聲明, 這個功能需要你在編譯vim時編譯"+balloon_eval"特性了.
|