Liunx常用操作(11)-VI编辑器-末行模式命令
vI编辑器三种模式
分别为命令模式、输入模式、末行模式。
末行模式
一、字符串搜索:
1、/模式:光标处向后搜索匹配的字符串,n继续向后找
/2
2、?模式:光标处向前搜索匹配的字符串,n继续向前找
?3
二、字符串替换
1、表达式:[n1,n2]s/p1/p2[g][c]
n1,n2代表行,%代表所有行
[g]表示替换目标行中所有匹配字符串
[c]替换前要求用户确认
^行首$行尾
2、所有行替换
:%s/the/The/g
3、所有行行首加4个空格
:%s/^/ /g
![](https://img2020.cnblogs.com/blog/1767782/202007/1767782-20200712232315176-1914452435.png)
三、全局模式
1、搜索所在含有3字符串的行
:g/3
![](https://img2020.cnblogs.com/blog/1767782/202007/1767782-20200712232412614-1591740816.png)
2、搜索所在不包含0字符串的行
:g!/0
3、所有含test行执行指定命令(行首加4个空格)
:g/test/s/^/ /g
四、全局替换
1、全部替换
:g/test/s//testcase/g
等价于
:g/test/s/test/testcase/g
2、全部删除
:g/test/s/test//g
五、文件操作
1、写入指定文件
:w[文件名]
2、未修改,不保存,退出
:q
3、保存文件并退出
:wq
等价于
:x
4、放弃修改,不保存,退出
:q!
5、放弃修改,编辑区恢复为文件原样
:e 文件名
6、读入指定文件,将文件内容插入光标位置
:r 文件名
7、在屏幕末行显示文件信息
:f
六、其他操作
1、跳至n行
:10
2、将n1-n2行内容拷贝至n3行下
:1,2 co 3
3、将n1-n2行内容移至n3行下
:1,2 m 3
4、将n1-n2行内容删除
:1,2 d
5、显示当前行内容
(:p)
6、显示当前行内容与行号
:nu