命令行模式:
光标移动:
h光标向左移一个字符
j光标向下移一个字符
k光标向上移一个字符
l光标向右移一个字符
H当前屏屏幕的最上一行
L当前屏幕的最末一行
M当前屏幕的中间一行
G移动到整个文件的第末行
GG移动到整个文件的第一行
1G移动到整个文件的第一行
nG移动到整个文件的30行(移动到多少行就是多少G,如要到20行即20G)
粘贴:yy nyy(表示粘贴多少行)
复制:p
撤销:u 针对本次进入vim编辑器的多次操作
删除:dd ndd(删除多行)
x 向右删掉一个字符
保存退出:ZZ
插入模式:
a:向当前光标向右移动一个字符做插入
i:当前光标做插入
o:当前光标的下一行做插入
A:向当前光标的行尾符做插入
I:向当前光标的行首符做插入
O:当前光标的上一行做插入
按esc进入命令模式
底行模式:
在命令模式中按:进入底行模式
:set nu 显示行号
:set nonu 取消行号
:/字符串 从上向下查找字符串
:?字符串 从下向上查找字符串
n表示在查找中以相同的顺序进行查找(与/字符串配合使用是向下,与?字符串配合使用是向上)
N表示在查找中以相反的顺序进行查找(与/字符串配合使用是向上,与?字符串配合使用是向下)
查找替换:
s/老字符串/新字符串 替换当前行的第一个老字符
s/老字符串/新字符串/g 整行替换
行号m,行号n s/老字符串/新字符串/g m行到n行之间的全部替换
/模式1/,/模式2/ s/老字符串/新字符串/g 模式1到模式2之间的全部替换
/mm/,/nn/ s/123/456/g mm行到nn行所有的123全部替换为456
1,$ s/老字符串/新字符串/g 可以做到全文替换,$表示最末一行
行号m,+n s/老字符串/新字符串/g 从m行开始往下n行全部替换
行号m,-n s/老字符串/新字符串/g 从m行开始往上n行全部替换
保存退出:
w:保存退出
q:不保存退出
wq:保存退出
q!:强制不保存退出
wq:强制保存退出
x:保存退出
X:保存之后加密退出
w /root/file 另存为/root/目录下的file文件
m,n w /root/file 把一个文件中的m行到n行另存为/root/目录下的file文
s w >> /root/file 把s行追加到/root/目录下的file文
r /usr/share/doc/dhcp-/dhcp +回车 (把dhcp的文件写入到当前文件)
命令模式下可以使用!!来追加指令,!!后可以加任何命令及参数
vim +10 文件名 定位到文件中的第10行
vim +/id/ file 定位到file文件中第一次出现id的那一行