vi 编辑器的三种模式:命令模式、编辑模式、尾行模式。
目录
命令模式
1、光标移动
字符级:上 (k)、下 (j)、左 (h)、右 (l) ;
单词级:下个单词的首字母 (w)、下个单词的尾字母 (e)、上个单词的首字母 (b);
行级:行首 (0)、行尾 ($);
段落级:上个段落的首部 ({)、下个段落的尾部 (});
屏幕级:屏幕首部 (H)、屏幕尾部 (L);
文档级:文档尾部 (G)、文档第一行 (1G)、文档第 n 行 (nG)。
2、内容删除
dd:删除光标当前行;
2dd:包括当前行内容,向后删除 2 行内容;
ndd:包括当前行内容,向后删除 n 行内容;
x:删除光标所在字符;
c+w:从光标所在的位置,删除至单词结尾,并进入编辑模式。
3、内容复制
yy:复制光标当前行;
2yy:包括当前行内容,向后复制 2 行内容;
nyy:包括当前行内容,向后复制 n 行内容;
p:对复制好(删除)的内容进行粘贴操作;
c+w:从光标所在的位置,删除至单词结尾,并进入编辑模式。
4、相关快捷操作
u:撤销(undo)
j:合并上下两行
r:单个字符替换
. :重复执行上次最近的指令
编辑模式
1、进入编辑模式
a:光标向后移动一位
i:光标和所在字符不发生变化
o:给新起一行
s:删除光标所在字符
2、退出编辑模式
Esc:退出编辑模式
尾行模式
1、进入尾行模式
:/ 两种方式
2、退出尾行模式
Esc:慢连续按两次
Esc:快删除全部尾行内容
3、常用命令
:q //退出编辑器(quit)
:w //对修改后的内容进行保存(write)
:wq //保存修改并退出编辑器(write quit)
:q! //强制退出编辑器
:w! //强制保存
:wq! //强制保存并退出编辑器
:u //撤销
:set number 或者 nu //设置行号
:set nonumber 或者 nonu //不设置行号
:数字 //跳转到数字所在行
:/内容/ 或者 /内容 //查找指定内容(小写n下一个,大写N上一个)
:s/cont1/cont2 //替换光标所在行的第一个关键字,将字符串cont1替换为cont2
:s/cont1/cont2/g //替换光标所在行的所有关键字,将字符串cont1替换为cont2
:%s/cont1/cont2/g //替换文件内的所有关键字,将字符串cont1替换为cont2
CentOS vi 编辑器的用法
https://blog.kobin.cn/blog/system/s2/105.html