vim是乙個類似於vi的著名的功能強大、高度可定製的文字編輯器,在vi的基礎上改進和增加了很多特性。 [1] vim是自由軟體。
vim普遍被推崇為類vi編輯器中最好的乙個,事實上真正的勁敵來自emacs的不同變體。1999 年emacs被選為linuxworld文字編輯分類的優勝者,vim屈居第二。但在2023年2月vim贏得了slashdot beanie的最佳開放源**文字編輯器大獎,又將emacs推至二線, 總的來看, vim和emacs在文字編輯方面都是非常優秀的。
從vi衍生出來的vim具有多種模式,這種獨特的設計容易使初學者產生混淆。幾乎所有的編輯器都會有插入和執行命令兩種模式,並且大多數的編輯器使用了與vim截然不同的方式:命令目錄(滑鼠或者鍵盤驅動),組合鍵(通常通過control鍵(ctrl)和alt鍵(alt)組成)或者滑鼠輸入。vim和vi一樣,僅僅通過鍵盤來在這些模式之中切換。這就使得vim可以不用進行選單或者滑鼠操作,並且最小化組合鍵的操作。對文字錄入員或者程式設計師可以大大增強速度和效率。
vim具有6種基本模式和5種派生模式,我們這裡只簡單介紹下6種基本模式:
1、普通模式(normal mode)
在普通模式中,用的編輯器命令,比如移動游標,刪除文字等等。這也是vim啟動後的預設模式。這正好和許多新使用者期待的操作方式相反(大多數編輯器預設模式為插入模式)。
vim強大的編輯能來自於其普通模式命令。普通模式命令往往需要乙個操作符結尾。例如普通模式命令dd
刪除當前行,但是第乙個"d"的後面可以跟另外的移動命令來代替第二個d
,比如用移動到下一行的"j"鍵就可以刪除當前行和下一行。另外還可以指定命令重複次數,2dd
(重複dd
兩次),和dj
的效果是一樣的。使用者學習了各種各樣的文字間移動/跳轉的命令和其他的普通模式的編輯命令,並且能夠靈活組合使用的話,能夠比那些沒有模式的編輯器更加高效地進行文字編輯。
2、插入模式(insert mode)
在這個模式中,大多數按鍵都會向文字緩衝中插入文字。大多數新使用者希望文字編輯器編輯過程中一直保持這個模式。在插入模式中,可以按esc
鍵回到普通模式。
3、可視模式(visual mode)
這個模式與普通模式比較相似。但是移動命令會擴大高亮的文字區域。高亮區域可以是字元、行或者是一塊文字。當執行乙個非移動命令時,命令會被執行到這塊高亮的區域上。vim的"文字物件"也能和移動命令一樣用在這個模式中。
4、選擇模式(select mode)
這個模式和無模式編輯器的行為比較相似(windows標準文字控制項的方式)。這個模式中,可以用滑鼠或者游標鍵高亮選擇文字,不過輸入任何字元的話,vim會用這個字元替換選擇的高亮文字塊,並且自動進入插入模式。
5、命令列模式(command line mode)
在命令列模式中可以輸入會被解釋成並執行的文字。例如執行命令(:
鍵),搜尋(/
和?
鍵)或者過濾命令(!
鍵)。在命令執行之後,vim返回到命令列模式之前的模式,通常是普通模式。
6、ex模式(ex mode)
這和命令列模式比較相似,在使用:visual
命令離開ex模式前,可以一次執行多條命令。這其中我們常用到就是普通模式、插入模式和命令列模式。
vim啟動進入普通模式,處於插入模式或命令列模式時只需要按esc
或者ctrl+[
(這在vim課程環境中不管用)即可進入普通模式。普通模式中按i
(插入)或a
(附加)鍵都可以進入插入模式,普通模式中按:
進入命令列模式。命令列模式中輸入wq
回車後儲存並退出vim。
上圖為方便採取實驗樓用圖,並非歸作者所用,僅供參考。
vim快速入門
命令 按鍵跳到行末 a跳到當前字元後 a刪除單個字元 x刪除一整行 dd撤回操作 u恢復操作 ctrl r 選中模式 可以移動方向 v貼上 p複製y複製多行 數字 yy 向上查詢 從游標行開始 向下查詢 從游標行開始 繼續向上查詢 n繼續向下查詢 n查詢乙個字串 游標移動到字串位置 選中行 整行 v...
vim 快速入門
你想以最快的速度學習人類史上最好的文字編輯器vim嗎?你先得懂得如何在vim倖存下來,然後一點一點地學習各種戲法。vim the six billion dollar editor better,stronger,faster.學習 vim 並且其會成為你最後乙個使用的文字編輯器。沒有比這個更好的文...
vim 快速入門
對於游標的移動有兩種控制方式,都是在普通模式下進行 編輯文字,如果不存在test.txt文字的話,則會自動建立 vim test.txt按i進入insert模式。按esc進入普通模式 進入insert模式還可以通過以下按鍵 按鍵作用 i在游標的前邊進入插入模式 i在游標所在行的行首進入插入模式 a在...