2009/02/05

打造自己的VIM: 修改目錄(功能表)

本篇文章是[Make vim more powerful cont. and prolog]系列的第一篇。這篇文章要分享我修改vim目錄的一些分得,保括了修改目錄的方法、指令、希望修改的地方,最後將會貼一些修改後的圖及我的設定檔給各位取用。

VIM目錄基本上都會有一串數字來代表他的位置,舉例來說Close這個menu item所在的位置為10.330,如下圖所示,若想要再插入一個目錄在它底下其位址可介於10.330到10.335之間。若想在10.330處插入一個子目錄則是位址可以由10.330.0開始到10.330.9999。



指令

跟目錄有關的指令,基本上我只用到:anoremenu(abbr. :an)這個指令,它是用來插入一個目錄,而且不能remap。譬如說我想插入一個指令
  1. 在10.320的位置
  2. 第一層的menu item name為File且快速鍵為f
  3. 第二層的menu item name為Open Tab ...且沒有快速鍵
  4. 提示的指令為:tabnew
  5. 真正執行的指令為:browse tabnew
這個指令如下:

:an 10.320 &File.Open\ Tab\.\.\.<TAB>:tabnew :browse tabnew<CR>

要注意的是有些特殊字元必需用"\"來跳脫,像是"."或" "。另外<TAB>是換行的意思。

此外,若是想插入一個分隔線則指令如下:

:an 10.400 &File.-SEP2-

其中-SEP2-,同一階的目錄下名字必需不同。

若是想知道更多指令,亦或是針對不同mode出現的目錄,就自行參考[vim document usr_42]。此外,如果有人有興趣瞭解script基本語法,像是流程控制、變數型態、變數類型等等,可再自己看一下[vim document usr_41]。


目錄設定檔在哪?

可以用:version指令找到,截圖如下:



我想要改成...

在修改前,先列一下我們想要修改的地方吧:
  • 加入我自己的快速鍵
  • 把不會用到的功能刪掉
  • 一些我認為它擺錯地方的目錄移到正確的地方

修改後的結果...

Edit menu: 擴充了Find的指令,像是Find Files or Find in Files,還有一些有關設定的都放在這。


Tools menu: 加了不少自己工具,像是Code Trace、Virsual Mark等等,這些功能在之後的文章才會介紹。


View menu: 又加了不少特殊功能,F5到F7都是,這些都後面幾篇文章會介紹。



結論

「師父引入門,修行在個人」學習vim也是這樣,有心想要修改自己目錄的人都應該要自己開一下$VIMRUNTIME\menu.vim有看看,並且視自己的需求打造自己的編輯器,改過一些東西后就會發覺原來改目錄那麼簡單。所以,還等什麼,快點把你的設定檔打開吧!

我的設定檔:http://sites.google.com/site/fcwunctu/vim

No comments: