Vim 是 Linux 系統上的最著名的文本/代碼編輯器,也是早年的 Vi 編輯器的加強版,而 gVim 則是其 Windows 版。它的最大特色是完全使用鍵盤命令進行編輯,脫離了鼠標操作雖然使得入門變得困難,但上手之后鍵盤流的各種巧妙組合操作卻能帶來極為大幅的效率提升。因此 Vim 和現代的編輯器(如 Sublime Text)有着非常巨大的差異,而且入門學習曲線陡峭,需要記住很多按鍵組合和命令,如今被看作是高手、Geek們專用的編輯器。盡管
Vim 已經是古董級的軟件,但還是有無數新人迎着困難去學習使用,可見其經典與受歡迎程度。另外,由於 Vim 的可配置性非常強,各種插件、語法高亮配色方案等多不勝數,無論作為代碼編輯器或是文稿撰寫工具都非常給力……
Vim 有以下幾個模式:
- 正常(normal)模式,缺省的編輯模式;下面如果不加特殊說明,提到的命令都直接在正常模式下輸入;任何其它模式中都可以通過鍵盤上的 Esc 鍵回到正常模式。
- 命令(command)模式,用於執行較長、較復雜的命令;在正常模式下輸入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可進入該模式;命令模式下的命令要輸入回車鍵(Enter)才算完成。
- 插入(insert)模式,輸入文本時使用;在正常模式下鍵入“i”(insert)或“a”(append)即可進入插入模式(也有另外一些命令,如“c”,也可以進入插入模式,但這些命令有其它的作用)。
- 可視(visual)模式,用於選定文本塊;可以在正常模式下輸入“v”(小寫)來按字符選定,輸入“V”(大寫)來按行選定,或輸入“Ctrl-V”來按方塊選定。
- 選擇(select)模式,與普通的 Windows 編輯器較為接近的選擇文本塊的方式;在以可視模式和選擇模式之一選定文本塊之后,可以使用“Ctrl-G”切換到另一模式——該模式很少在 Linux 上使用
編輯-->輸入:
i: 在當前光標所在字符的前面,轉為輸入模式;
a: 在當前光標所在字符的后面,轉為輸入模式;
o: 在當前光標所在行的下方,新建一行,並轉為輸入模式;
I:在當前光標所在行的行首,轉換為輸入模式
A:在當前光標所在行的行尾,轉換為輸入模式
O:在當前光標所在行的上方,新建一行,並轉為輸入模式;
輸入-->編輯:
ESC
編輯-->末行:
:
末行-->編輯:
ESC, ESC
注:輸入模式和末行模式之間不能直接切換,默認處於編輯模式
關閉文件
末行模式關閉文件
:q 退出 :wq 保存並退出 :q! 不保存並退出 :w 保存 :w! 強行保存 :wq --> :x
編輯模式下退出
ZZ: 保存並退出
使用vim編輯多個文件
vim FILE1 FILE2 FILE3
:next 切換至下一個文件
:prev 切換至前一個文件
:last 切換至最后一個文件
:first 切換至第一個文件
:q退出當前文件
:qa 全部退出
yy|2yy 復制行 dd|2dd 刪除、剪切行 p粘貼到下一行 P粘貼到上一行 ^|$定位到行首,行尾 dG從當前行刪到文檔最后一行
w 下一個word W 下一個word(跳過標點符號) b 前一個word e 跳到目前word的尾端 0 跳到目前行的開頭 ^ 跳到目前行第一個非空白字元 $ 跳到行尾 /xxxx 搜尋xxxx # 往前搜尋目前游標所在的字(word) * 往後搜尋目前游標所在的字(word) fx 在目前行往後搜尋字元x gd 跳到目前游標所在的字(word)的定義位置 :split 分割視窗(可加檔名順便開啟另一檔案) :diffsplit xxx 以分割視窗和檔案xxx做比較(diff) Ctrl-W p 跳到前一個分割視窗(在兩個分割窗來回切換) Ctrl-W j 跳到下面的分割窗 Ctrl-W h 跳到左邊的分割窗 Ctrl-W k 跳到上面的分割窗 Ctrl-W l 跳到右邊的分割窗