vi编辑器常用命令及使用

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

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

vi编辑器的功能

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

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

vi编辑器的模式

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

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

注:

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

文件的打开、新建、保存

打开文件、新建文件

vi 文件名

修改结束后

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

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

注:

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

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

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

强制退出

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

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

image-20210331094020488

编辑文件

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

快速移动光标

操作示例

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

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

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

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

注:

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

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

image-20210331095412297

复制

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

粘贴

p    #粘贴(p:paste)

删除

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

撤销

u    #撤销上一步操作

文本查找和替换

查找

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

注:

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

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

替换

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

​ “s”:substitute 替换

​ “g”:global 全局

​ “c”:confirm 确认

vi编辑器使用示例

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


   转载规则


《vi编辑器常用命令及使用》 InImpasse 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录