文本編輯器Vim的基本使用方法
文章目錄
Vim簡介:
Vim(Vi IMproved)是從Vi(Visual interface)發展出來的一個文本編輯器,在Vi的基礎上改進和增加了很多特性,可以執行輸出、刪除、查找、替換和塊操作等衆多文本操作,而且用戶可以根據自己的需要對其進行定製,在程序員中被廣泛使用。
一、工作模式介紹
vim共分爲三種模式,包括命令模式(Command mode),輸入模式(Insert mode)和末行模式(Last line mode)。
1. 命令模式
當我們使用vim打開一個文件時,便進入了命令模式。在該模式下,用戶的鍵盤動作會被Vim識別爲命令,而非輸入字符,所輸入的命令並不會在屏幕上顯示出來。用戶輸入各種合法命令之後,Vim會完成相應的動作,例如刪除、複製和粘貼等的操作。
i # 切換到輸入模式,以輸入字符
dd # 刪除當前光標所在行
: # 切換到末行模式,在最底行輸入命令
注:不管處於何種模式,只要按一下Esc鍵,即可使Vim進入命令模式。
2. 輸入模式
在命令模式中輸入i
,I
,o
,O
,a
,A
等命令即可進入輸入模式,在該模式下,用戶輸入的任何字符都會被vim當做文件內容保存起來,並顯示在屏幕上。
Backspace # 退格鍵,刪除光標前一個字符
Delete # 刪除鍵,刪除光標後一個字符
上/下/左/右 # 移動光標
Home/End # 移動光標到該行行首/行尾
PageUp/PageDown # 屏幕向下/上移動一頁
3. 末行模式
末行模式也稱爲ex轉義模式,在命令模式下輸入:
,/
,?
等命令即可進入末行模式,在該模式下,可以完成查找、替換、退出、存儲、顯示行號等操作。
:w # 保存文件
:q # 退出程序
:set nu # 顯示行號
二、命令模式下的操作說明
1. 光標移動
h/j/k/l # 光標向左/下/上/右移動一個字符,等於左/下/上/右鍵
Ctrl+f/Ctrl+b # 屏幕向下/上移動一頁,等於PageDown/PageUp鍵
Ctrl+d/Ctrl+u # 屏幕向下/上移動半頁
0 # 光標移動到該行行首,等於Home鍵
$ # 光標移動到該行行尾,等於End鍵
w # 光標移動到下一個單詞的頭部,2w移動到下兩個單詞的頭部
e # 光標移動到下一個單詞的尾部,3e移動到下三個單詞的尾部
G # 光標移動到文本最後一行
nG # 光標移動到檔案第n行
gg # 光標移動到文本第一行,相當於1G
H # 光標移動到屏幕最上方行的第一個字符
M # 光標移動到屏幕最中間行的第一個字符
L # 光標移動到屏幕最下方行的第一個字符
n<Space> # 光標向右移動n個字符
n<Enter> # 光標向下移動n行
2. 文本行移動
>> # 光標所在行右移
<< # 光標所在行左移
3. 複製、粘貼和刪除
- 複製
yy # 複製光標所在行
nyy # 複製光標所在行向下n行
y1G # 複製光標所在行到第一行
yG # 複製光標所在行到最後一行
y0 # 複製光標所在字符到該行行首
y$ # 複製光標所在字符到該行行尾
- 粘貼
p # 將複製的數據粘貼到光標下一行
P # 將複製的數據粘貼到光標上一行
- 刪除
x # 刪除光標後一個字符,等於Delete鍵
X # 刪除光標前一個字符,等於Backspace鍵
nx # 連續向後刪除n個字符
dd # 刪除光標所在行
ndd # 刪除光標所在行向下n行
d1G # 刪除光標所在行到第一行
dG # 刪除光標所在行到最後一行
d0 # 刪除光標所在字符到該行行首
d$ # 刪除光標所在字符到該行行尾
- 撤銷與重複
u # 撤銷
Ctrl+r # 反撤銷
. # 重複上一次操作命令
4. 進入塊操作
使用v
,V
,Ctrl+v
進入可視模式可進行塊操作,通過移動光標選擇需要操作的內容,被選中的部分會反白顯示。
- 按
v
啓用可視模式,能夠按單個字符選擇內容,移動光標可以進行選擇 - 按
V
啓用可是模式,會立馬選擇光標所在行,移動光標可以進行選擇 - 按
Ctrl+V
啓用可視模式中的塊模式,能夠在列方向上選擇單個字符,移動光標可以進行選擇(塊操作)
塊操作:
d # 刪除選中內容
D # 刪除選中內容及行後全部內容
I # 在選中所有列的光標前插入內容,輸入完後按兩下Esc插入成功
y # 複製選中內容
p # 粘貼選中內容
三、命令模式進入輸入模式
i # 在光標所在處輸入
I # 在光標所在行第一個非空格符處開始輸入
a # 在光標所在處下一個字符開始輸入
A # 在光標所在行最後一個字符開始輸入
o # 在光標所在下一行輸入新的一行
O # 在光標所在上一行輸入新的一行
r # 進入取代模式,取代光標所在字符一次
R # 進入取代模式,一直取代光標所在字符,直到按下Esc爲止
四、命令模式進入末行模式
1. 基本操作
:w # 保存文本
:q # 退出文本
:wq # 保存文本並退出,等於:x
:set nu # 顯示行號
:setnonu # 取消顯示行號
2. 查找
:set ic # 忽略字母大小寫查找
:set noic # 恢復字母大小寫查找(默認)
/str # 向光標後面尋找名爲str的字符串
?str # 向光標前面尋找名爲str的字符串
注:
n
鍵可以重複前一個搜索動作。例如/str
搜索後,n
鍵可以繼續向下搜索下一個
N
鍵可以反向進行前一個搜索動作。例如/str
搜索後,N
鍵可以反向向上搜索上一個
3. 替換
:s/str1/str2/g # 將光標所在行的str1字符串替換爲str2
:%s/str1/str2/g # 將整個文本中的str1字符串替換爲str2
:n1,n2s/str1/str2/g # 將n1~n2行中的str1字符串替換爲str2
4. 執行shell命令
:! commond # 執行shell命令基本格式
:! ls /home # 查看/home目錄