vim 學習

    早就聽說vim的強大,一直沒有學習。最近決定把這個強大的Edit學習一下。這是轉載一個滇狐的 VIM 入門教程。
術語約定: 如果沒有特殊說明, 本文中提到的 VIM 指的是圖形界面的 gvim 與字符界面的 vim 的統稱, gvim 專指圖形界面, vim 專指字符界面。

1 讓 gvim 正常工作

VIM 是一個非常強大的編輯器, 可惜的是, 無論是 Windows 還是 Linux, gvim 都存在一些小故障, 令第一眼看到它的初學者感到非常不愉快。 爲了不讓更多的初學者在第一次接觸 gvim 時被它嚇跑, 我在這份教程中首先解決 gvim 令人感到不快的一些小問題, 希望能讓更多的用戶平滑地過渡到 gvim 的環境中來。
VIM 的安裝很簡單, Windows 下只要雙擊安裝程序, 一路 next 下去就可以了 (注意到選擇安裝組件的時候請選擇全部組件, 默認安裝方式下會少裝幾個有用的小東西)。 Linux 下各個發行版安裝方式都不一樣, 但總體來說都不難裝。 因此, 本文假設你已經成功地安裝了一份 VIM, 不再介紹 VIM 的安裝步驟。

1.1 屏蔽系統自帶的 .vimrc

VIM 是一個高度可定製的編輯器, 它通過配置文件 .vimrc (Windows 下是 _vimrc)來定製程序的各種行爲。 如果你沒有編寫 .vimrc 的話, 它會使用系統自帶的一份默認配置文件。 可惜的是, 系統默認的配置文件存在種種很令人不快的問題。 例如 Windows 下加載 mswin.vim 帶來的困惑, 和 Linux 下無法處理中文等等故障。 因此, 我們在安裝了 VIM 之後, 第一件要做的事情就是創建自己的 .vimrc。 只要編寫一份你自己的配置文件, VIM 便不會再加載系統自帶的配置文件。
如果你是 Linux 用戶, 請在你的 $HOME 目錄下放置一個空文件, 文件名叫 .vimrc, 方法如下:
$ cd                            # 使用不帶參數的 cd 命令,切換到 $HOME 目錄
$ touch .vimrc                  # 使用 touch 命令創建一個空白文件
如果你是 Windows 用戶, 請在你的 %HOME% 目錄下放置一個空文件, 文件名叫 _vimrc。 步驟如下:
  1. 在資源管理器中切換到 %HOME% 目錄;
  2. 右鍵單擊文件列表的空白位置, 選擇“新建”→“文本文件”;
  3. 將“新建文本文件.txt”重命名爲“_vimrc”, 注意顯示擴展名的問題。
現在, 我們已經創建了一份自己的 .vimrc。 在之後的部分裏, 我們將逐漸往 .vimrc 裏添加一些屬於我們自己的內容, 得到一份真正屬於自己的配置。

1.2 該節已刪除 (原“Linux 下的中文處理”)

之前在默認 zh_CN.GB18030 的 Linux 發行版下, 舊版本的 GVim 有 bug, 無法正常處理中文, 需要進行一些配置。 而現在絕大部分 Linux 發行版都默認 UTF-8, 而 GVim 的 bug 也修復了, 因此這一節不再有存在的必要了。 如果你的 Linux 是 zh_CN.GB18030 且你的 Vim 有那個 bug, 你應該考慮的是升級系統, 而不是解決這個問題。

1.3 選擇自己喜歡的字體

如果覺得 gvim 的字體顯示效果不好的話, 不妨重新選擇一個你喜歡的字體。 點“編輯”→“選擇字體”, 然後在字體列表中選擇一個你最中意的字體和字號, 確認後就可以了。 由於 gvim 只能使用等寬字體, 因此對話框中列出的字體可能比你係統裏安裝的字體要少得多, 請慢慢選擇, 耐心選, 直到選出最滿意的字體爲止。 選擇完畢後, 先按幾下 ESC 確認處在 Normal 模式下, 然後輸入這條命令:“:set guifont?” (這裏的問號代表詢問, 不要漏寫), 回車後 gvim 屏幕最下方會顯示出你當前所用的字體的名稱, 例如在滇狐這裏輸入這條命令後出來的結果如下:
  guifont=Bitstream Vera Sans Mono 9
請記住這裏輸出的字體名稱, 如果必要的話請先暫時把它寫下來備用, 之後我們需要將它寫入配置文件。

1.4 設置多語言編碼自動識別

完成上述配置之後, VIM 應該已經很適合“人類使用”了。 試着通過菜單或工具欄打開幾個文本文件試驗一下, 如果不出什麼意外的話, 你也許會發現, 打開的絕大部分文本文件中, 中文都是亂碼。 是的, 我們還沒有配置多語言編碼的自動識別。 確認當前輸入法處於英文輸入狀態, 按若干下 ESC 以確保 VIM 處在 Normal 狀態, 接着輸入以下命令:
:set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
回車後再打開幾個文本文件試試, 應該已經沒有亂碼出現了。 關於這句命令的詳細原理, 可以參考這篇文章

1.5 將配置寫入 .vimrc

之前我們通過一系列命令, 將 gvim 調整爲一個比較適合我們使用的編輯環境。 然而, gvim 是不會自動記住我們這次所做的調整的。 下次再打開 gvim 時, 它又變回了原先的模樣。 如果我們能夠把剛纔所輸入的命令記錄下來, 下次再打開 gvim 的時候把那些命令再執行一遍, 不就可以讓 gvim 每次都保持我們調整過的最佳工作狀態了麼? 對, 這就是配置文件 .vimrc 的作用。
剛纔我們已經創建了一個全空的配置文件 .vimrc, 現在我們往配置文件中寫下我們的自己的配置代碼。 .vimrc 的格式很簡單, 只要將剛纔輸入的所有冒號開頭的命令, 依次寫入 .vimrc 即可, 寫到配置文件裏的時候就不要寫冒號了。 VIM 啓動的時候會依次執行這些命令。 另外, 配置文件中雙引號開頭的行表示註釋, 在 VIM 讀入 .vimrc 的時候, 這些行不會被執行。 因此你可以使用註釋在 .vimrc 中寫上一些說明文字, 爲自己將來閱讀配置文件提供方便。 再次複習一下前幾節的內容, 然後寫下自己的 .vimrc, 你現在的 .vimrc 可能是這個樣子的:
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

" 設置字體。
" 字體名稱可以通過前一節介紹的語句獲得,
" 如果字體名稱中含有空格,
" 需要在空格前面加上一個反斜槓,如下:

" 這是 Linux 風格的字體設置語法
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9
" 這是 Windows 風格的字體設置語法
set guifont=Bitstream_Vera_Sans_Mono:h9:cANSI
提示: 如果對 VIM 的基本操作一無所知的話, 現在你可以不妨先使用其它文本編輯器編寫 .vimrc, 如記事本等。 當然, 如果你願意現在就嘗試着使用 gvim 編輯這個文件的話, 也是非常值得鼓勵的。

2 入門學習

2.1 vimtutor

vimtutor 是一個非常適合初學者學習 VIM 的簡易教程。 教程中說閱讀一遍這個教程需要 25 到 30 分鐘, 其實很少有人需要這麼長時間。 一般情況下, 如果精力集中的話, 15 到 20 分鐘足以將這份教程從頭到尾閱讀一遍。 每天花 15 分鐘時間將這份教程從頭到尾看一遍, 平時進行純文本編輯的時候, 儘量“逼迫”自己多使用 gvim, 花一週時間, 就可以比較熟悉 gvim, 能夠用它完成普通的編輯工作了。
Linux 下的 vimtutor 是在終端中打開的, 如果終端字體配置正常, 一般情況下不會出現什麼太大問題。 Windows 下的 vimtutor 會彈出一個 gvim 窗口, 大部分情況下也沒有什麼大問題, 在少部分機器上漢字會出現亂碼。 如果 vimtutor 在你機器上顯示不正常的話, 請先輸入“:set encoding=cp936”, 回車, 然後再點擊“編輯”→“選擇字體”, 選擇一個支持中文的字體, 如“新宋體”等, 確認後, 教程的顯示應該就恢復正常了。
如果你以前從來沒有使用過 VIM 的話, 請先花 15 分鐘時間閱讀一遍 vimtutor, 然後再繼續往後閱讀滇狐教程。 之後的部分再出現 vimtutor 裏介紹過的術語時, 滇狐將不再作解釋。
注意: 爲了保證 vimtutor 在任何機器上運行效果都相同, 不會被本地設置的鍵綁定所幹擾, vimtutor 運行時不會讀取任何用戶自定義的配置文件 .vimrc。 因此如果你之前做的設置在 vimtutor 裏沒有效果的話, 請不要太過於驚慌。

2.2 VIM 快速編輯示例

學習 VIM 其實是一件比較辛苦的事情, 剛開始的時候可能比用記事本還慢。 因此, 在學會 VIM 之前, 我們有必要先通過一些例子堅定一下信心。
VIM 的一大特點就是“快”。 這裏列舉了一些使用 VIM 能夠快速完成, 而一些其它編輯器難以勝任的功能, 體現 VIM 的優越性。

3 編寫自己的 .vimrc

作爲一個高度可定製的編輯器, 爲 VIM 編寫適合自己使用的 .vimrc 是有必要的。 這裏給出了一個適合初學者使用的 .vimrc 框架, 以及每一項設置的詳細解釋, 希望能給大家帶來一些幫助。
這裏是滇狐自己的 .vimrc, 裏面有很多根據滇狐自己的習慣所做的設置。 如果你希望在自己機器上使用的話, 需要根據你的習慣做一些修改。

3.1 滇狐的 VIM 入門教程

vimtutor 雖然非常簡單, 但涵蓋的內容太過於有限; 用戶手冊雖然內容非常全面, 但如此巨大的一個大部頭, 任何一個剛接觸 VIM 的人都會被它嚇到。 針對這個問題, 滇狐編寫了一份 VIM 入門教程, 希望能給大家帶來一些入門上的便利。

4 VIM 進階

通過一個星期的努力, 把 vimtutor 中的基本命令都熟練掌握後, 使用 VIM 進行簡單快速的編輯應該已經沒有什麼問題了。 接下來, 可以每天抽出半個小時時間, 在半個月左右內把 VIM 用戶手冊大概閱讀一遍。 在 VIM 中 Normal 模式下輸入“:help usr_toc”即可看到用戶手冊, 如果更習慣看中文版的話, 可以到這裏下載。
記住, 沒有必要記住手冊中的所有命令, 只要大概知道有哪些命令, 需要用的之後知道到哪一章去查就可以了。 常用的命令查過幾次之後自然而然就能夠記住, 不常用的命令記下來也沒有什麼意義。
另外, 可以根據自己的需要, 下載一些常用的 VIM 插件, 方便自己的日常生活與工作。 這裏有滇狐整理的 VIM 常用插件推薦, 感興趣的話可以看看。
如果對 VIM 還有更加濃厚的興趣的話, 可以試着自己編寫 VIM 插件, 不過那些內容就不是這篇文章能夠涉及的了。 祝大家好運! Happy VIMming~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章