vi 是Linux 系統(tǒng)中最常用的文本編輯器,而 vim 是 vi 的升級版,vim 不但可以用不同顏色顯示文字內(nèi)容,還能夠進行諸如 shell script, C program 等程序編輯功能,你可以將 vim 視為一種程序編輯器。
這里只列出常用操作而不是所有操作!
1. 用vi / vim 打開文件
在Centos7 中如果你是root用戶,可以使用命令 vi [filename] 或者 vim [filename]打開文件。
如果你不是root 用戶,要使用vi 打開文件就必須使用絕對路徑,/bin/vi [filename], 要使用vim 打開文件就直接使用命令 vim [filename] 或者 vi [filename],這是因為非root 用戶的vi 命令已經(jīng)被默認定義為 vim 命令了(如圖一所示):

2. 使用vi / vim 的三種模式
-
一般模式
以 vi /vim 打開一個文件就直接進入一般模式了。在這個模式中, 你可以使用『上下左右』按鍵來移動光標,你可以使用『刪除字符』或『刪除整行』來處理文件內(nèi)容, 也可以使用『復(fù)制、粘貼』來處理你的文件數(shù)據(jù)。
-
編輯模式
在一般模式中,按下『i, I, o, O, a, A, r, R』等任何一個字母之后會進入編輯模式。注意了!通常在 Linux中,按下這些按鍵時,在畫面的左下方會出現(xiàn)『 INSERT 或 REPLACE 』的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。
-
指令列命令模式
在一般模式當中,輸入『 : / ? 』三個中的任何一個按鈕,就可以將光標移動到最底下那一行。查找關(guān)鍵字、讀取、存盤、大量取代字符、離開 vi / vim、顯示行號等等的動作則是在此模式中達成的。
3. 一般模式的使用方法
- 上下左右箭頭:上下左右移動光標,如果要移動多次光標,可以在先輸入數(shù)字再按箭頭,比如 “30 向下的箭頭” 就可以使光標直接向下移動30行。
- [Page Down], [Page Up] 按鍵:向下,向下翻一頁。同樣的,可以在按鍵前先輸入數(shù)字 n,表示一次性翻 n 頁。
- [Home], [End]:光標移動到這一行的最左邊,最右邊。
- G: 移動到這個文件的最后一行, 如果前面加了數(shù)字 n,就代表移動到第 n 行。
- gg: 移動到第一行,相當于 1G。
- /word: 向下查找 word 字符串。
- ?word: 向上查找 word 字符串。
- n: 重復(fù)前一個查找動作一次。
- N: 反向重復(fù)前一個查找動作一次。
- :n1,n2s/word1/word2/g: 把 n1 行和 n2 行之間的 word1 替換為 word2。
- :n1,n2s/word1/word2/gc: 把 n1 行和 n2 行之間的 word1 替換為 word2,每次替換之前需要用戶確認是否替換。
- x, X: 向后,向前刪除一個字符。
- dd: 刪除光標所在的那一整行,可以結(jié)合 n 使用,即: ndd, dnG, d[Home], d[End]。
- yy: 復(fù)制光標所在的那一列,可以結(jié)合 n 使用,即: nyy, ynG, y[Home], y[End]。
- p, P: 將所復(fù)制的數(shù)據(jù)向下,向上粘貼。
- u: 撤銷。
- [Ctrl] + r: 重做。
- .: 重復(fù)剛才的動作。
4. 編輯模式
i: 進入編輯模式。I, a, A, o, O 也是進入編輯模式,區(qū)別是進入以后光標的位置不同。
[Esc]: 退出編輯模式,回到一般模式。
5. 命令模式
- :w 將編輯的數(shù)據(jù)寫入硬盤文件中。
- :w! 當文件為“只讀”時,強行寫入硬盤。(不一定能成功寫入,這是跟你對該文件的權(quán)限有關(guān))
- :q 關(guān)閉vim。
- :q! 當你修改過文件,又不想保存時,使用 :q! 可以強制退出。
- :wq 保存后關(guān)閉vim。
- :w [filename] 另存為。
- :r [filename] 在該頁面游標所在行的后面讀入[filename]文件。
- :n1,n2 w [filename] 把n1到n2行的內(nèi)容另存為[filename]文件。
- :! command 暫時離開vim,執(zhí)行command命令,比如::! pwd 表示查看當前目錄。
- :set nu 顯示行號。
- :set nonu 隱藏行號。