複製鏈接
請複製以下鏈接發送給好友

Vim

(Unix及類Unix系統文本編輯器)

鎖定
Vim是一個類似於Vi的高度可定製的文本編輯器,在Vi的基礎上改進和增加了很多特性。Vim是自由軟件。Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不同變體。1999 年Emacs被選為Linuxworld文本編輯分類的優勝者,Vim屈居第二。但在2000年2月Vim贏得了Slashdot Beanie的最佳開放源代碼文本編輯器大獎,又將Emacs推至二線。
中文名
文本編輯器
外文名
Vim
平    台
Unix、Linux、Mac OS、Windows
應用範圍
計算機
功    能
文本編輯

Vim簡介

Vim是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs並列成為類Unix系統用户最喜歡的文本編輯器。 [1] 
vim的設計理念是命令的組合。用户學習了各種各樣的文本間移動/跳轉的命令和其他的普通模式編輯命令,並且能夠靈活組合使用的話,能夠比那些沒有模式的編輯器更加高效的進行文本編輯。同時VIM與很多快捷鍵設置和正則表達式類似,可以輔助記憶。並且vim針對程序員做了優化。 [1] 

Vim發展歷程

Bram Moolenaar 在 80 年代末購入他的Amiga計算機時,Amiga 上沒有他最常用的編輯器vi。Bram 從一個開源的 vi 複製 Stevie 開始,開發了 Vim 的 1.0 版本。最初的目標只是完全複製 vi 的功能,那個時候的 Vim 是Vi IMitation(模擬)的簡稱。1991 年 Vim 1.14 版被 "Fred Fish Disk #591" ——Amiga 用的免費軟體集收錄了。1992 年 1.22 版本的 Vim 被移植到了 UNIX 和MS-DOS上。從那個時候開始,Vim 的全名就變成 Vi IMproved了。
在這之後,Vim 加入了不計其數的新功能。做為第一個里程碑的是 1994 年的 3.0 版本加入了多視窗編輯模式(分割視窗)。從那之後,同一熒幕可以顯示的 Vim 編輯文件數可以不止一個了。1996 年發佈的 Vim 4.0 是第一個利用圖形接口(GUI)的版本。1998 年 5.0 版本的 Vim 加入了 highlight(語法高亮)功能。2001 年的 Vim 6.0 版本加入了代碼摺疊、插件、多國語言支持、垂直分割視窗等功能。2006 年 5 月發佈的 Vim 7.0 版更加入了拼字檢查上下文相關補完,標籤頁編輯等新功能。 2008 年 8 月發佈的 Vim 7.2,該版本合併了 vim 7.1 以來的所有修正補丁,並且加入了腳本的浮點數支持,2010年08月15日,歷時兩年的時間,vim又發佈了vim 7.3這個版本,這個版本修復了前面版本的一些bug,以及添加了一些新的特徵,這個版本比前面幾個版本來的要更加優秀。 [2] 
十年以後,Vim 終於發佈了一個新的大版本 8.0,結束了從 2006 年 5 月 7 日開始的 7.0 世代。雖然這十年間,Vim 也一直在不斷更新,從 7.0 到三年前的 7.4,每隔一兩年或兩三年就會有個小版本更新,但是這次跨越大版本更新,帶來了不少新的特性,據説有一些是從其它的 Vi 流派吸收來的特性。
2018年又發佈了Vim 8.1版本,Vim 8.1的主要新功能是支持在Vim窗口中運行終端。 它建立在Vim 8.0中添加的異步功能之上。 終端窗口可用於多種用途,也用於測試,以獲取屏幕截圖並將其與預期狀態進行比較。 這允許測試交互式操作,例如彈出菜單。 [3] 
2023年 1 月 ,Vim 推出了 9.0.1160 版本更新,修復了 ufunc_T 錯誤分配大小的 ASAN 錯誤 [5] 

VimVIM優點

Vim高效率移動

  1. 在插入模式之外基本上來説,儘可能少的呆在插入模式裏面,因為在插入模式裏面 VIM 就像一個“啞巴”編輯器一樣。 VIM 的強大之處在於他的命令模式!
  2. 使用 h、j、k、l使用 VIM 高效率編輯的第一步,就是放棄使用箭頭鍵。使用 VIM就不用頻繁的在箭頭鍵和字母鍵之間移來移去了,這會節省很多時間。當命令模式時,可以用 h、j、k、l 來分別實現左、下、上、右箭頭的功能。 [2] 
  3. 在當前行裏面有效的移動光標很多編輯器只提供了簡單的命令來控制光標的移動(比如左、上、右、下、到行首/尾等)。VIM 則提供了很多強大的命令來滿足控制光標的慾望。當光標從一點移動到另外一點,在這兩點之間的文本(包括這兩個點)稱作被“跨過”,這裏的命令也被稱作是 motion。
  4. 在整個文件裏面有效移動光標VIM 有很多命令,可以用來到達文件裏面你想到達的地方。

Vim高效的輸入

  1. 使用關鍵詞自動完成VIM 有一個非常漂亮的關鍵詞自動完成系統。使用關鍵詞自動完成功能,只需要輸入開始幾個字母(比如 iAmAL),然後按 <C-N>(按住 Ctrl,再按 N)或者 <C-P>。如果 VIM 沒有給出你想要的詞,繼續按,直到你滿意為止,VIM 會一直循環它找到的匹配的字符串。
  2. 聰明的進入插入模式VIM 提供了很多進入插入模式的命令。
  3. 有效的移動大段的文本使用可視選擇(visual selections)和合適的選擇模式。不像最初的 VI,VIM 允許你高亮(選擇)一些文本,並且進行操作。
  4. 在可視選擇模式下剪切和拷貝
  5. 粘貼粘貼很簡單,按 p。
  6. 使用多重剪貼板很多編輯器都只提供了一個剪貼板。VIM 有很多。剪貼板在 VIM 裏面被稱為寄存器(Registers)。你可以列出當前定義的所有寄存器名和它們的內容,命令為“:reg”。最好使用小寫字母來作為寄存器的名稱,因為大寫的有些被 VIM 佔用了。
  7. 避免重複在 VI 裏面,輸入 . (小數點符號),將會重複輸入的上一個命令。
  8. 使用數字也是 VIM 強大的而且很節省時間的重要特性之一。在很多 VIM 的命令之前都可以使用一個數字。

VimVIM功能及優勢

Vim有許多有用的功能,可以與現代文本編輯器競爭,如Sublime Text,Atom,UltraEditjEdit。它們包括支持正則表達式的搜索,輕鬆重複命令的能力,直接記錄和執行宏,自動完成文件合併,鼠標集成,拼寫檢查,語法突出顯示,分支撤消/重做歷史,支持流行網絡協議和文件存檔格式等。
雖然Vim的功能令人印象深刻,但其真正的優勢在於其可擴展性。 Vim有自己的腳本語言,稱為Vim腳本(也稱為vimscript或VimL),用户可以通過多種方式使用它來增強Vim,例如為其他編程語言啓用語法高亮,自動化語法檢查或將Vim與其他應用程序和服務。
大多數經驗豐富的Vim用户很難想象在沒有任何腳本的情況下使用文本編輯器,並且有很多可供選擇。 Vim Awesome是世界上最大的Vim腳本目錄之一,其中包含超過18,000個。一些最值得注意的Vim腳本包括vim-multiple-cursors,它允許您創建多個選擇,NERDTree,它在側面板中顯示交互式文件樹視圖,以及Emmet,一個強大的HTMLCSSJavaScript完成工具。
除了可擴展性之外,Vim還具有高度可配置性,包含Vim核心全局設置(稱為vimrc)的文件可以在各個Vim安裝之間共享。如果您不想在閒暇時間搞亂設置和編輯配置文件但仍希望充分發揮Vim的優勢,可以從互聯網上下載許多現成配置文件中的一個,或者使用Vim等工具創建一個配置。 [4] 
參考資料