[軟體教學] 使用 Vim 撰寫個人WIKI日誌

        在介紹本文的主角:「VimWiki」前,我們先來簡單介紹一下 Vim。說到 Vim 又非得提到 Vi ,Vim 是 Vi 的進階版本,而 Vi / Vim 在維基百科的介紹中,很清楚的表達了他們的用處:「文字編輯」。對,這些軟體其實就是文字編輯軟體,最古老的文書軟體之一,可以回溯到西元 1976 年那時,由後來昇陽創辦人之一的 Bill Joy 開發而成。

        最棒的是,Vi / Vim 因為有著比我還大的年紀,在許許多多的程式設計師協助下,已經是一套非常穩定的軟體,同時大量的外掛支援,讓 Vi / Vim 有著最強文書編輯軟體的稱號。但是過於強大,也造成他不容易親近的原因,低階的控制指令以及非「微軟化」的操作習慣,讓許多人望之生畏。不過自從 Vi / Vim 支援圖形化顯示以及 Windows 作業系統後,其入門的門檻已經降低不少,即便使用者只是個新手,也可以利用 Vi / Vim 的諸多強大特性,例如快速啟動及視窗分割等功能,不僅可用來編輯文字,其多樣化的程式支援,更讓 Vi / Vim 在程式界佔有極高的地位,更有許多高手愛用,甚於使用怪物級的程式開發環境(例如:Microsoft Words),雖然這類高手本身就已經是怪物了。

        就本人的立場而言,如果只想光靠 Vi / Vim 來進行程式開發,那大概下場會…。不過,單純從寫觀點來看的話,透過 Vim 寫作倒是有許多優點。有外國網站甚至遴選出當代二十套(20 Fantastic Full Screen Text Editor for Distraction Free Writing)適合作家寫作的文書軟體,主要訴求的原則就是快速、干擾少,以及全螢幕模式,這一點 Vim 絕對具備資格(推薦全螢幕更新套件 Shell.Vim),值得一提的是,該網站選出的第一套為 Dark Room 文書軟體,某方面來講還蠻有趣的,可以讓人回到二十幾年前純指令的時代(笑)。

        相信前面簡短的介紹,以及其他網站的連結資訊,大家對於 Vi / Vim 已經有一定的基本認識。那今天要談的 VimWiki 又是什麼呢?所謂的 VimWiki 顧名思義,就是透過 Vi / Vim 達成類似 Wiki 的功能應用,而 Wiki 是近來大家非常熟悉的名詞,最著名的應該就是維基百科。換句話說,當把維基百科的使用環境,置換到個人電腦裡頭時,那我們可以做的運用就非常的多樣化了,例如:個人日誌或是收支管理等。

        或許有人會問,那樣子乾脆使用 Microsoft Words,或者甚至是 OpenOffice 不是都可以達成相同目的嗎?關於這個問題,我只能告訴他,他是正確的。原本程式應用就是看個人喜好罷了,好用的以及習慣用的,並不一定就是等號,純粹是個人選擇。但是我們使用電腦的人,至少習慣一套 Words 以外的文書編輯軟體是有必要的,至於使用 Vim、Emacs 或者是其他文書編輯軟體則就看自己囉。更何況,很多時候我們其實並不需要使用到 Words 之類的怪物軟體,而小作家又很難滿足文字編輯上的需求,光是這一點,就已經讓我們有足夠的理由,為自己找一套善待自己的文字編輯軟體了。

        言歸正傳,因為官方網站裡頭,已經有了完整的介紹,所以我在這邊主要係以完成目標的模式,進行解說。

        我們先假設大家都已經瞭解,並且安裝好 Vim 軟體之後,先到官方網站的下載區下載更新套件(在寫這篇文章時,最新套件版本為 1-1-1)。而由於現在新版的 Vim ,提供有簡易的升級功能,因此使用者只要在下載完更新套件後,使用 Vim 開啟該 VBA 檔案的更新套件,並在 Normal 模式下,輸入「:so %」即可自動完成更新。

        至於要如何使用呢?也很簡單,只要在 Normal 模式下,輸入「ww」(也就是 ww)即可開啟 VimWiki 的預設資料下的預設初始檔案。另外,我們很有可能會依照不同的需求(例如:小說創作或者產業分析等),而需要使用好多個 Wiki 介面,這時候也可以透過副檔名的設定而簡單達成,因為 VimWiki 是透過副檔名為 wiki 的檔案,作為文件名稱的標準使用,因此我們可以在各個預設資料夾下,設定不同的 Wiki 名稱,如此,便可以簡單的透過 VimWiki 目錄與內容的專業編排,而應用在我們自己的創作上頭。

操作介紹

        在這邊要為大家介紹幾個比較常用的功能鍵及組合模式,其他更進階的功能,可以在 Normal 模式下,輸入「:h vimwiki-mappings」開啟說明文件:

  • ww:開啟預設檔案(或稱預設頁面)。
  • NewPage:在文件裡頭輸入此單字時,會以高亮度文字背景表示,同時,VimWiki 自動將其判定為一個新頁面,並建立一個同名檔案(或稱頁面),換言之,該單字的存在就如同超連結一般。
  • [[ Page Name ]]:其功用同上,但是更進一步的,可以透過在其中擺置「|」符號,而將前半段作為檔案名稱使用,後半段作為描述使用,並顯示在文件中。
  • 在 Normal 模式下,用滑鼠雙擊前述超連結的單字,則會自動進入對應的頁面,同時,如果該頁面原本不存在時,VimWiki 將自動為其建立一個新檔案。此外,相同的操作方式,可以透過按壓「Enter」鍵達成(配合「Shift」可以在原視窗中開啟另一垂直視窗,而配合「Ctrl」按壓「Enter」則可以在原視窗中,開啟另一水平視窗。)。
  • 當進入新的檔案(或稱頁面)時,可以透過按壓 BackSpace 按鍵,退回原主頁面。
  • 在 Normal 模式下,輸入「:Vimwiki2HTML」或「:VimwikiAll2HLML」,可將 Wiki 頁面轉換為網頁格式。
  • 在 Normal 模式下,在任一行上輸入「=」,會將該行自動設定為 Header。
  • 在文件中,按壓「Tab」或「Shift Tab」,可以在該頁面中的 WikiWord 中跳查。

簡單語法

  1. *Blod*
  2. _Italic_
  3. ~~Strikeout Text~~
  4. A^Super Script^
  5. A,,Sub Script,,
  6. [[Complex Wiki Word]]
  7. 「*」、「-」:Unordered List
  8. # Ordered List
  9. = Header1 =、== Header2 ==、…、======= Header 7 =======
  10. {{{ Preformatted }}}

參考文獻

  1. Key mappings
    •  
    •  
    •  
    •  
    •  
    •  

    說些什麼吧

    您也許也會喜歡…