天天看點

GVIM 新手指南

【轉】GVIM 新手指南 [轉載]

原文連結:http://edyfox.codecarver.org/html/vim_for_beginners.html

術語約定: 如果沒有特殊說明, 本文中提到的 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~

繼續閱讀