一、VIM 编辑器
-
有三种模式: 命令,编辑,末行。
-
下面是三种模式的相互转换。
命令模式 ----> 编辑模式 (i,a,o,O)
编辑模式 ----> 命令模式 (ESC)
命令模式 ----> 末行模式 (:)
末行模式 ----> 命令模式 (ESC)
命令模式下的操作:
上下左右:键;hjkl;
翻页: PGUP,PGDOWN;ctrl+f,Ctrl+b
行内跳转: 到行首:0,“home”,^; 跳到行尾: “end”,$
w:光标跳转到下一个单词的词首
e:光标跳转到当前单词的词尾
b:光标跳转到上一个单词的词首
n +w
n +e
n +b
行间跳转: 到文尾:G;到文首:gg
到n行: n+G;n+gg
删除光标所在位置的字符:x,“del”
删除光标所在位置之前的字符:d^
删除光标所在位置之后的字符:d$
删除光标所在行: dd
从光标当前行删除n行: n+dd
撤销: u
复制 : yy ; n+yy
yw
ye
yb
y5w
y5e
y5b
粘贴 : p 光标所在行之后;
P 光标所在行之前;
查找:/char : 从光标当前往下查询。
?char :从光标当前往上查询。
n :与查询顺序一致
N :与查询顺序相反
替换:
r +“1” :替换当前字符
R :进入到替换模式 ---》ESC
ctrl + r :恢复撤销
重复上一次命令: .
可视化选择:
v :字符
ctrl + v : 块 (上下左右键)
V :行
输入模式:
i:在光标所在位置左侧插入
I:在光标所在行的行首插入
o:
O:
a:在光标所在位置右侧插入
A:在光标所在行的行尾插入
末行模式的操作:
:set nu :打印行号
:set nonu : 取消行号
:n 跳转到n行。
: s/root/admin/ :替换的是光标所在行的第一个匹配到的root。
: s/root/admin/g :替换的是光标所在行的所有的匹配到的root。
:6 s/root/admin/ :替换的是第6行的第一个匹配到的root。
:6 s/root/admin/g :替换的是第6行的所有的匹配到的root。
:5,15 s/root/admin/ :替换的是第5-15行的第一个匹配到的root。
:5,15 s/root/admin/g :替换的是第5-15行的所有的匹配到的root。
:% s/root/admin/g :替换的是所有行的所有的匹配到的root。
:% s/root/admin/ :替换的是所有行的第一个匹配到的root。
:% s/root/admin/gc
:s/root/admin/gi :不区分大小写
扩展: (1)vim执行的记录将保存在~/.viminfo 文件中
(2)set设置的格式,要永久生效需要保存在~/.vimrc文件中。
要想对全局生效,需要保存在/etc/vimrc文件中。
[root@admin ~]# vim +10 passwd #定位光标到10行
[root@admin ~]# vim +/root passwd #定位上一次保存时光标所在位置的下一个root所在行上。
执行shell 命令:
:! pwd