Vim 是一個Linux 平台上功能非常強大的編輯器,他是早年的Vi 編輯器的加強版。這個gVim 是windows 版的,並且有了標準的windows 風格的圖形介面,所以叫g(graphical)Vim。我們可以將gvim 理解為vim(vi的加強版)圖形化版本,其指令和用法都完全相同,所以可以參考vim的指令。這是一個國際版本,會根據安裝的平台自動選擇相應語言套件, 支援中文及其各種編碼,連介面也是中文的,請放心使用。這個極具Unix特色和風格(simple is the best)的編輯器相信會給您帶來不同的感受。
【曆史回顧】
Vim 是從vi 發展出來的一個多平台文字編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用,和Emacs 並列成為類Unix 系統使用者最喜歡的編輯器。有人曾戲稱世界上的程式員只有三種,一種是使用Emacs 的,一種使用vi 的,還有就是使用其他編輯器的。
建立者Bram Moolenaar 在80 年代末購入他的Amiga 電腦時,由於Amiga 尚沒有他最常用的編輯器vi,Bram 便從一個開源的vi 複製Stevie 開始,開發了Vim 的1.0 版本。最初的目標只是完全複製vi 的功能,那時的Vim 是Vi IMitation(類比)的簡稱。1992年1.22 版本的Vim 被移植到了UNIX 和MS-DOS 上。從那時起,因為功能的不斷增加,Vim 的全名就變成Vi IMproved(改良)了。現在是在開放原始碼方式下發行的慈善軟體。
【功能概要】
- 根據設定可以和原始vi完全相容
- 多緩衝編輯
- 任意個數的分割視窗(橫,豎)
- 具備列表和字典功能的指令碼語言
- 可以在指令碼中調用Perl,Ruby,Python,Tcl,MzScheme
- 單詞縮寫功能
- 動態單詞補全
- 多次撤銷和重做
- 對應400種以上文字檔的文法高亮
- C/C++,Perl,Java,Ruby,Python等40種以上語言的自動縮排
- 利用ctags的標籤中跳轉
- 崩潰後檔案恢複
- 游標位置和開啟的緩衝狀態的儲存 複原(session功能)
- 可以對兩個檔案進行差分,同步功能的diff模式
- 遠程檔案編輯
- Omni補全(上下文相關的補全)
【工作模式】
從vi派生出來的Vim具有多種模式,這種獨特的設計容易使初學者產生混淆。幾乎所有的編輯器都會有插入和執行命令兩種模式,並且大多數的編輯器使 用了與Vim截然不同的方式:命令菜單(滑鼠或者鍵盤驅動),按鍵組合(通常通過control鍵(CTRL)和alt鍵(ALT)組成)或者滑鼠輸入。 Vim和vi一樣,僅僅通過鍵盤來在這些模式之中切換。這就使得Vim可以不用進行菜單或者滑鼠操作,並且最小化按鍵組合的操作。對文字錄入員或者程式員可 以大大增強速度和效率。
Vim具有6種基本模式和5種派生模式:
{基本模式}
普通模式
在普通模式中,使用者可以執行一般的編輯器命令,比如移動游標,刪除文本等等。這也是Vim啟動後的預設模式。這正好和許多新使用者期待的操作方式相反 (大多數編輯器預設模式為插入模式)。
Vim強大的編輯能力中很大部分是來自於其普通模式命令。普通模式命令往往需要一個操作符結尾。例如普通模式命令”dd”刪除當前行,但是第一 個”d”的後面可以跟另外的移動命令來代替第二個”d”,比如用移動到下一行的”j”鍵就可以刪除當前行和下一行。另外還可以指定命令重複次 數,”2dd”(重複”dd”兩次),和”dj”的效果是一樣的。使用者學習了各種各樣的文本間移動/跳轉的命令和其他的普通模式的編輯命令,並且能夠靈活 組合使用的話,能夠比那些沒有模式的編輯器更加高效的進行文本編輯。
在普通模式中,有很多方法可以進入插入模式。比較普通的方式是按”a”(append/追加)鍵或者”i”(insert/插入)鍵。
插入模式
在這個模式中,大多數按鍵都會向文本緩衝中插入文本。大多數新使用者希望文字編輯器編輯過程中一直保持這個模式。
在插入模式中,可以按ESC鍵回到普通模式。
可視模式
這個模式與普通模式比較相似。但是移動命令會擴大高亮的文本地區。高亮地區可以是字元、行或者是一塊文本。當執行一個非移動命令時,命令會被執行到 這塊高亮的地區上。Vim的”文字物件”也能和移動命令一樣用在這個模式中。
選擇模式
這個模式和無模式編輯器的行為比較相似(Windows標準文本控制項的方式)。這個模式中,可以用滑鼠或者游標鍵高亮選擇文本,不過輸入任何字元的 話,Vim會用這個字元替換選擇的高亮文字區塊,並且自動進入插入模式。
命令列模式
在命令列模式中可以輸入會被解釋成並執行的文本。例如執行命令(”:”鍵),搜尋(”/”和”?”鍵)或者過濾命令(”!”鍵)。在命令執行之 後,Vim返回到命令列模式之前的模式,通常是普通模式。
Ex模式
這和命令列模式比較相似,在使用”:visual”命令離開Ex模式前,可以一次執行多條命令。
{派生模式}
操作符等待模式
這個派生模式指普通模式中,執行一個操作命令後Vim等待一個”動作”來完成這個命令。Vim也支援在操作符等待模式中使用”文字物件”作為動作, 包括”aw”一個單詞(a word)、”as”一個句子(a sentence)、”ap”一個段落(a paragraph)等等。
比如,在普通模式下”d2as”刪除當前和下一個句子。在可視模式下”apU”把當前段落所有字母大寫。
插入普通模式
這個模式是在插入模式下按下ctrl-o鍵的時候進入。這個時候暫時進入普通模式,執行完一個命令之後,Vim返回插入模式
插入可視模式
這個模式是在插入模式下按下ctrl-o鍵並且開始一個可視選擇的時候開始。在可視地區選取項目取消的時候,Vim返回插入模式。
插入選擇模式
通常這個模式由插入模式下滑鼠拖拽或者shift方向鍵來進入。當選擇地區取消的時候,Vim返回插入模式。
替換模式
這是一個特殊的插入模式,在這個模式中可以做和插入模式一樣的操作,但是每個輸入的字元都會覆蓋文本緩衝中已經存在的字元。在普通模式下按”R”鍵 進入。
{其他}
Evim
Evim是一個特殊的GUI模式用來盡量的表現的和”無模式”編輯器一樣。編輯器自動進入並且停留在插入模式,使用者只能通過菜單、滑鼠和鍵盤修飾鍵 來對文本進行操作。可以在命令列下輸入”evim”或者”vim -y”進入。在Windows下,通常也可以點擊案頭上Evim的表徵圖。
【相關文章】
gVim 使用教程 [下載.doc版 gVim 使用教程/vi/vim教程]
gVim 命令列表圖(圖片)
-
gVim 圖解鍵盤指令
gVim 命令格式解釋樹狀結構圖
【提示】
對於大多數使用者來說,Vim有著一個比較陡峭的學習曲線。這意 味著開始學習的時候可能會進展緩慢,但是一旦掌握一些基本操作之後,能大幅度提高編輯效率。為了協助學習,Vim為初學者準備了Vim教學。通常可以在 Unix系統命令列下輸入”vimtutor”或者點擊Windows系統案頭上的Vim教學表徵圖進入。在Vim使用者手冊 中更加詳細的描述了Vim的基礎和進階功能。可以在Vim中輸入”:help user-manual”進入使用者手冊。手冊除了原始的英文版本之外,也被志願者翻譯成了各國文字,也包括了中文。
新使用者也應該學習Vim的協助系統。可以在Vim中輸入不帶參 數的”help”來閱讀主協助檔案。