一、一般模式下命令
1、光標移動
h:向左移動一個字符
l:向右移動一個字符
k:向上移動一個字符
j:向下移動一個字符
ctrl + f:向下移動一頁
ctrl + b:向上移動一頁
ctrl + d:向下移動半頁
ctrl + u:向上移動半頁
0:移動到行首
$:移動到行尾
H:移動到這一頁第一行的行首
G:移動到次文件的最後一行
nG:n代表數字,例如:n=10,那麼為移動到次文件的第10行
gg:移動到此文件的第一行
2、搜索與替換
/str:向光標之下搜索 “str” 字符串
?str:向光標之上搜索 “str” 字符串
n:繼續執行上一個的搜索命令,搜索方向不變
N:繼續執行上一個的搜索命令,但是搜索方向是相反的
:line1,line2s/str1/str2/g:把line1與line2行之間的 “str1” 字符串替換為 “str2” 字符串
:1,$s/str1/str2/g:次文件中的 “str1” 字符串 替換為 “str2” 字符串
:1,$s/str1/str2/gc:次文件中的 “str1” 字符串 替換為 “str2” 字符串,替換之前需要確認後才可以替換
3、刪除、複製、粘貼
x:向右刪除一個字符
X:向左刪除一個字符
nx:向右刪除n個字符
nX:向左刪除n個字符
dd:刪除當前行
ndd:向下刪除n行
dG:刪除光標當前行之後所有的內容
d1G:刪除光標當前行之前所有的內容
d$:刪除光標當前位置到本行尾所有內容
d0:刪除光標當前位置到本行首所有內容
yy:複製當前行內容
nyy:向下複製n行內容
y1G:複製光標位置到次文件開始位置所有內容
yG:複製光標位置到次文件末尾位置所有內容
y0:複製光標位置到本行首所有內容
y$:複製光標位置到本行尾所有內容
p:當前行下一行開始粘貼內容
P:當前行上一行開始粘貼內容
J:當前行與下一行合併為一行
c:重複刪除多個數據
u:還原上一次的操作
ctrl + r:重複執行上一個操作
二、編輯模式下命令
i:當前光標位置插入
I:當前行第一個非空格符處開始插入
a:當前光標位置下一個位置插入
A:當前行行尾插入
o:當前行下一行插入
O:當前行上一行插入
r:替換當前光標位置字符
R:替換當前光標位置字符為新字符或者新字符串直到按ESC命令為止
ESC:退出編輯模式,進入一般模式
三、指令模式下命令
:w:保存文件
:w!:強制保存文件
:q:退出vim
:q!:強制退出不保存文件
:wq:保存文件後退出
:wq!:強制保存文件後退出
:ZZ:如果文件沒有更新過,不保存退出;否則保存文件退出
:w filename:文件內容另存為新的文件,新文件名為 “filename”
:r filename:當前行後追加另一個 “filename” 文件的內容
:line1,line2 w filename:將line1行至line2的內容另存為新的文件,新文件名為 “filename”
:! command:執行linux命令,例如:“:! cat 1.txt” 次模式下可以顯示 “1.txt” 文件的內容
:set nu:顯示行號
:set nonu:取消顯示行號,即不顯示行號