2009/03/26

VIM: 製作跟VIM help一樣能跳來跳去的文字檔

最近想要自己製作VIM的help,VIM的help就是輸入:help後會顯示的說明頁,這種說明頁的好處除了有原本VIM的優點外,他還可以讓你用Ctrl-]和Ctrl+t[跳來跳去]。本文就是介紹這種"跳來跳去"的非源碼頁面。

(題外話)
會想試試看原因有好多,最大原因是最近工作雖忙但都是做無聊的事沒學到什麼東西感到很悶,另外最近訂了一隻gphone(htc dream),整天在想要拿那隻手機做啥,沒什麼心情工作。最近常在想比起做韌體,我好像比較適合做軟體,做韌體有bug就是用一些bug tool不斷縮小縮圍找bug,之後看看腳位有沒有設對,釐清是誰的問題。才工作半年就對這份工作感到無趣會不會太快了點,相對於之前2份軟體的工作這份工作似乎太快就沒興趣了。

(恢復正題)
廢話不多說,馬上進入正題,我以範例來解說製作方式。現在我要製作2份文件分別為a.txt及b.txt,在a.txt內要有一個link連到b.txt的頭,而b.txt會有一個link連到a.txt的頭,以下就是他們的文件真實內容。

a.txt的內容如下
*a.txt*
|b.txt|
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:


b.txt的內容如下
*b.txt*
|a.txt|
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:


我們以a.txt與b.txt相似,我們以a.txt為解說例。首先第一行以*...*括起來的a.txt是表示它是一個錨(anchor)用作於連結目的端,錨名為a.txt。第2行以|...|括起來的則是一個link連結到名為b.txt的錨。接著我們必需讓VIM將這些資料做成cache,輸入":helptag ."便會在工作徑下產生tags檔。現在便可以使用Ctrl+]跳來跳去了。

大家看到這裡可能還會有個疑問,我在文件的最後一行輸入(vim:tw...)的是什麼東西,那行叫[modeline]是用來指示這個檔案的VIM設定,像是這個範例就表示textwidth=78, iskeyword有那些, filetype為help等設定。若將這些都設定上檔案開起來就會像這樣:



本文參考自:[Add your note files to Vim help]

No comments: