在Vim裡精通Vim

aqee發表於2014-02-14

  Vim的難學是出了名的,而且當之無愧。雖然內建的vimtutor教材能夠教會你一些非常基本的用法,能讓你知道如何編輯一個檔案,但如果想像傳說中的vim高手那樣精通它,該怎麼辦呢?

  通過簡單的谷歌搜尋,你能找到很多如何學習vim的好文章,比如vimcasts裡就有很多非常不錯的視訊,但這些教材並不是用最直接的通過實踐的方式來幫助你精通vim。你也許能學會一些非常有趣的技巧,但你如何能保證可以長久的記住如何使用它們?所以,你真正需要的是一個vim學習課件!

  vim學習課件由大量的文字形式的學習卡片組成,但裡面包含一些vim命令,用來方便的控制這些卡片。此外,因為這個課件是放在vim裡面的,你可以方便的試驗卡上的任何命令。

  這裡就是一個使用vim執行的vim學習課件的例子。當這個檔案被載入後,它會將vim變成一個vim學習實驗室。這種檔案有兩部分組成。第一部分是一些vimscript,當你載入這些檔案時這些指令碼將被執行。它們會建立一些鍵盤命令來讓你按佇列輕鬆的移動這些卡片。

  第二部分就是教材自身,分為“學習中”和“已會”兩部分。(意思就是,當你對一些知識已經學習的很熟,不需要再學習了,你可以把它們移到‘已會’佇列裡,放著以後再用)。課件裡的東西很簡單,就是一些命令和相關介紹。

  這裡是一個視訊演示

  下面是一個課件的片段:

= Study

ciw
在不選中一個單詞的首字母的情況下修改整個單詞

`.
跳躍至上一次修改的地方

g*
向前搜尋

g;
在修改記錄中向後選擇

g,
在修改記錄著向前選擇

= Known

*
向前搜尋

  想開始學習,你只需要將這個文字內容拷貝到vim緩衝裡,儲存,然後敲入:so %來載入它。

  現在,敲擊,,將第一個卡片從佇列的頂端移動到底部。記憶,然後重複。

  用不了多久,你的vim學習課件就會變成一個非常棒的新知識庫。你只需要將帶有新技巧的卡片不斷的加進去。

  看看我們的lab-in-a-file裡有沒有你喜歡的命令,是缺少了某些非常好的技巧嗎?請在評論裡告知我們,或fork the gist!

  提示:從web頁面裡將指令碼直接拷貝到vim裡會貼上出很多多餘的空白符,致使指令碼無法執行。而且,如果你使用的Windows系統,指令碼的編碼格式也會成為一個問題。

  英文原文:Mastering Vim in Vim