Featured image of post vi编辑器常用命令及使用

vi编辑器常用命令及使用

vi编辑器常用命令及使用

本文参考自:韦东山老师嵌入式Linux应用开发完全手册

欢迎关注我的微信公众号【万能的小江江】

vi编辑器的功能

​ vi是一个命令,也是命令行下的一个编辑器,它有如下功能:

  • 打开、新建、保存文件
  • 移动光标
  • 文本编辑
  • 多行/列间复制、粘贴、删除
  • 查找和替换

vi编辑器的模式

​ vi编辑器有三种模式,各模式侧重点不同:

  1. 一般模式(光标移动、复制、粘贴、删除)
  2. 编辑模式(编辑文本的模式)
  3. 命令行模式(用于查找和替换)

注:

  1. 如果不知道当前处于何种模式,按ESC键可以返回一般模式
  2. wq(write quit)
  3. i(insert)

文件的打开、新建、保存

打开文件、新建文件

1
vi 文件名

修改结束后

​ 输入:进入命令行模式,输入wq保存并退出

1
2
:wq #保存并退出文件
x #一样的效果

注:

  1. 如果文件不存在,也需要输入:wq才可以保存新文件,否则不会新建文件

编辑完成后,返回一般模式的方法

​ 1.输入:w保存文件,如已经保存,输入:q

强制退出

​ 2.直接输入:wq保存并退出

​ 3.如果不想保存编辑的文件,输入:q!强制退出

编辑文件

​ 打开文件后,默认处于“一般模式”,可以用下列指令操作:

快速移动光标

操作示例

快速定位到某行的:文件头、文件尾、指定行

1
2
3
4
ngg	#光标移到第n行的行首(n是数字,想要跳转的行)
1gg #跳到第1行行首
2gg #跳到第2行行首
G #转到文件的结尾

在某行中,快速定位到某一列

1
2
3
0	#(数字0)光标移动至当前行行首
$	#光标移至行末
fx	#搜索当前行中下一个出现字母x的地方

注:

​ 如果不知道vi编辑器当前处于何种模式,可以按ESC键返回到一般模式

文本复制、粘贴、删除、撤销

复制

1
2
yy	#复制当前行(y:yank(复制))
nyy	#复制当前行及其后的n-1行(n是数字)

粘贴

1
p	#粘贴(p:paste)

删除

1
2
3
dd	#删除当前光标所在行(d:delete)
ndd #删除当前光标所在行及其后的n-1行(n是数字)
x	#删除光标所在位置的字符

撤销

1
u	#撤销上一步操作

文本查找和替换

查找

1
/pattern #从光标开始的地方向文件尾搜索pattern,后按下n或N

注:

1
2
n	#在同一个方向重复上次的搜索命令
N	#在反方向重复上次的搜索命令

​ 在/pattern之前,先跳到第一行,就是对全文件进行搜索

替换

1
2
:%s/p1/p2/g		#将文件中所有的p1都用p2替换
:%s/p1/p2/gc	#替换时需要确认

​ “s”:substitute 替换

​ “g”:global 全局

​ “c”:confirm 确认

vi编辑器使用示例

//视情况再添加,最后更新时间:2021年3月31日 10:16