一、Vim簡介
Vim是從 vi 發展出來的一個在類Unix系統上流行的文本編輯器(可以看作vi的升級版),因爲它支持代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,所以在程序員中被廣泛使用,在這裏將和大家分享我學習過程中所總結的“小tips”!
沒有安裝Vim的同學可以使用:yum install vim -y
二、Vim打開文件的方式
打開方式 | 作 用 |
---|---|
#vim 文件路徑 | 打開指定路徑的文件 |
#vim +數字 文件路徑 | 打開指定路徑的文件,並且光標移動到指定行 |
#vim +/關鍵詞 文件路徑 | 打開指定路徑的文件,並且高亮顯示關鍵詞 |
#vim 文件路徑1 文件路徑2 文件路徑… | 同時打開多個文件 |
擴展:同時打開多個文件,可以使用":files"查看當前已經打開的文件(其中,"%a=“表示當前正在打開的文件,”#"表示上一個打開的文件);使用"open 已打開的文件名"切換當前打開的文件。
三、Vim的三種模式及操作
1、三種模式的簡介
Vim中存在三種模式:命令模式、輸入模式(編輯模式)、末行模式。
命令模式:使用Vim打開文件後默認進入的模式,在該模式下可以進行一些快捷操作,例如:光標移動、複製、剪切/刪除等操作。
輸入模式:在該模式下可以對文件內容進行編輯。
末行模式:在該模式下可以執行一些命令對文件進行操作,例如:搜索、替換、保存、退出等。
2、三種模式之間的切換
結合這張圖(希望可以幫助到大家理解),我想告訴大家的是,命令模式在三種模式的切換之中起到了介質的作用(也就是說:如果想實現末行模式向編輯模式的切換,必須先切換爲命令模式,再切換爲編輯模式才能實現),在下面將以網卡配置文件爲例向大家詳細介紹三種模式的用法以及它們之間的切換方式。
3、命令模式
打開文件即可進入命令模式(默認)。還記的在這個模式下能做什麼嗎?
① 光標移動
按 鍵 | 作 用 |
---|---|
↑↓←→ | 光標上下左右移動 |
shift + ^ 或 Home | 光標移動到行首 |
shift + $ 或 End | 光標移動到行尾 |
gg | 光標移動到首行 |
G | 光標移動到末行 |
數字 + G | 光標移動到第 n 行 |
數字 + ← | 光標向左移動 n 個字符 |
數字 + → | 光標向右移動 n 個字符 |
數字 + ↑ | 光標向上移動 n 行 |
數字 + ↓ | 光標向下移動 n 行 |
② 翻屏
按 鍵 | 作 用 |
---|---|
Ctrl + f 或 PgDn | 向下翻一屏 |
Ctrl + b 或 PgUp | 向上翻一屏 |
Enter 鍵 | 向下翻一行 |
k | 向上翻一行 |
③ 複製
按 鍵 | 作 用 |
---|---|
yy | 複製光標所在行 |
數字 + yy | 以光標所在行爲準(包括當前行),向下複製 n 行 |
④ 剪切/刪除
值得提示的是,這裏所說的刪除操作,嚴格意義上來講就是剪切之後不粘貼的效果。
按 鍵 | 作 用 |
---|---|
x 或 Delete | 刪除光標所在位置的單個字符 |
dd | 剪切/刪除光標所在行 |
數字 + dd | 以光標所在行爲準(包括當前行),向下剪切/刪除 n 行 |
⑤ 粘貼
按 鍵 | 作 用 |
---|---|
p(小寫) | 在光標之後粘貼 |
P(大寫) | 在光標之前粘貼 |
⑥ 可視化操作
按 鍵 | 作 用 |
---|---|
v(小寫) | 按字符選取,光標劃過的區域被選取 |
V(大寫) | 按矩形選取,光標劃過的行被選取 |
選取之後可以對區塊整體進行復制、刪除等操作。
⑦ 撤銷/恢復
按 鍵 | 操 作 |
---|---|
u | 撤銷 |
Ctrl+r | 恢復(取消之前的撤銷操作) |
4、編輯模式
在編輯模式下,可以根據需求對文件內容進行一些修改,下面的進入方式會提高我們的效率哦!(命令模式於編輯模式之間的切換)
命令模式→編輯模式
按 鍵 | 作 用 |
---|---|
i | 在光標所在字符前開始插入 |
a | 在光標所在字符後開始插入 |
o | 在光標所在行的下面另起一行開始插入 |
I | 在光標所在行的行首開始插入 如果有空格則在空格之後開始插入 |
A | 在光標所在行的行尾開始插入 |
O | 在光標所在行的上面另起一行開始插入 |
S | 刪除光標所在行並開始插入 |
tips:一般必須掌握i和a哦!
編輯模式→命令模式
按 鍵 | 作 用 |
---|---|
Esc | 退出編輯模式並返回命令模式 |
5、末行模式
同樣,我們先來了解如何進入/退出末行模式(命令模式與末行模式之間的切換)!
命令模式→末行模式
按 鍵 | 作 用 |
---|---|
shift + : | 進入末行模式 |
末行模式→命令模式(有三種退出末行模式的方法哦)
按 鍵 | 作 用 |
---|---|
Esc | 退出末行模式並進入命令模式 |
連按兩下Esc | …(同上) |
刪除末行全部輸入字符 | …(同上) |
進入末行模式後,我們來學習一下末行模式的各種實用操作吧(以下所有操作輸入後都需要 Enter 鍵來確認哦)!
① 保存操作
按 鍵 | 作 用 |
---|---|
w | 保存文件 |
w 路徑 | 另存爲 |
② 退出操作
按 鍵 | 作 用 |
---|---|
q | 退出文件 |
q! | 強制退出(之前所修改的內容不做保存) |
③ 退出並保存
按 鍵 | 作 用 |
---|---|
wq | 退出並保存 |
④ 打開新的文件進行編輯
按 鍵 | 作 用 |
---|---|
e 文件路徑 | 打開新的文件進行編輯 |
⑤ 在當前文件中讀入其他文件
按 鍵 | 作 用 |
---|---|
r | 在當前文件中讀入其他文件 |
⑥ 查找操作
按 鍵 | 作 用 |
---|---|
/關鍵詞 | 文件中所有匹配關鍵詞打上高亮(首部向尾部查找) |
?關鍵詞 | 文件中所有匹配關鍵詞打上高亮(尾部向首部查找) |
nohl(no highlight) | 取消高亮顯示 |
tips:可以使用“N/n”在搜索結果中切換上/下一個關鍵詞(光標跳轉)。
其中,n:與查找命令方向相同 N:與查找命令方向相反(比如:如果你使用"?關鍵詞"進行查找,按下n則向首部方向的下一個關鍵詞進行切換)。
⑦ 替換操作
按 鍵 | 作 用 |
---|---|
s/old/new | 替換光標所在行第一處符合的內容 |
s/old/new/g | 替換光標所在行全部符合的內容 |
%s/old/new | 替換整個文件第一處符合的內容 |
%s/old/new/g | 替換整個文件符合的內容 |
⑧ 顯示行號
按 鍵 | 作 用 |
---|---|
set nu | 顯示行號 |
set nonu | 取消顯示行號 |
在這裏的修改行號只是暫時的,再次打開文件便消失了,如果想要永久效果,大家可以修改配置文件來實現。這裏只列出兩個配置文件(如果兩個文件衝突,系統會以個人配置文件爲準)的路徑:①個人配置文件(~/.vimrc,如果沒有可以自行新建)②全局配置文件(/etc/vimrc)。至於如何去修改,這裏不做過多的敘述。
⑨ 語法高亮
按 鍵 | 作 用 |
---|---|
syntax on | 顯示語法高亮 |
syntax off | 取消語法高亮 |
注:這裏是以/etc/passwd爲例。
⑩ 調用外部命令
“! command"即可調用外部命令,我們以”! ls /"命令爲例,按下回車鍵後:
再次按下回車即可返回到原界面。
四、異常退出
在編輯文件之後沒有正常的保存退出,而是遇到突然關閉終端或者斷電的情況,再次打開文件則會顯示下面的界面,這個情況稱之爲異常退出。
這種情況下,我們只需刪除異常中產生的交換文件即可。
可以使用命令: rm -f 文件路徑
五、結束語
這次就先總結到這裏,雖然內容不多,但都是比較常用的,希望大家可以掌握哦!