vim三种工作模式:
1、命令模式
2、插入模式/编辑模式
3、末行模式/尾行模式
vim的命令:
# vim /etc/passwd
光标的移动(不是特别常用)
h:向左移动
j:向下移动
k:向上移动
l:向右移动
行内跳转
[Home]:快速移动到行首 ^(Shift+6)
[End]:快速移动到行尾 $(Shift+4)
行间跳转
gg:快速回到文本首行
ngg:跳转到第n行 n为数字
6gg
G:快速回到文本的末行
删除
d:删除、剪切
dd:删除当前行
dw:删除从光标位置开始的一个单词
D和d$:删除从当前字符开始到行尾
ndd:删除从当前行开始的n行 5dd
x:删除光标所在位置的字符
X:删除光标前面的一个字符
复制
y:
yw:复制一个单词
yy:复制当前行
nyy:复制从当前行开始的n行 n为数字
粘贴
p:paste
y+p 实现的是复制粘贴的功能
d+p 实现的是剪切粘贴的功能
p:粘贴到光标所在行的下一行,如果是单词,粘贴到光标所在位置的后面.
撤销
u: undo
--重做
Ctrl-r :对撤销的撤销操作。
替换
r:替换光标所在位置的一个字符
R:替换从光标所在位置开始的一串字符,直到按下[Esc]结束替换
编辑模式:a i o A I O
i:在光标前插入
I:在行首插入内容
a:在光标后插入
A:在行尾插入
o:在光标所在行的下一行插入新行
O:在光标所在行的上一行插入新行
Esc
末行模式:
:set nu : 显示行号
:set nonu :取消显示行号
:q : 不保存退出
:q! :强制退出
:wq :保存退出 (:x) ctrl+zz
:wq! :强制保存退出
vim的查找:
/关键字:正向查找
n:向下查找
N:向上查找
vim的替换:
:s/old/new/ 用new替换old
例子:
:s/root/R00T/ //将光标所在行的第一个root替换为R00T
:s/old/new/g 全局替换,替换一整行中所有匹配到的内容
:s/root/R00T/g
:%s/old/new/g 全篇替换,替换整篇文章中所有匹配到的old为new
:开始行,结束行s/old/new/g 将从开始行到结束行之间的old替换为new
:8,15s/0/00/g
r \read 在光标所在行的下一行读入其他文件
nr 在第n行的下一行读入其他文件
vim的配置文件:
# vim /etc/vimrc
在最后一行添加一行 set nu,这样打开每个文件都显示行号,即时生效