vi编辑器

vi是什么?

vi是Linux里面的编辑器,vim是vi的升级版。

操作模式

模式名 含义
命令模式 等待输入的模式
输入模式 编辑模式,用于输入文本
扩展模式 可以输入指令,搜索,保存

打开文件

1
2
3
4
5
vi test.js
// 在当前目录打开test.js文件
// 没有该文件会自动创建
// 打开之后光标默认会定位到第1行
// vi 2 test.js 打开之后光标会定位到第2行

常用命令

打开文件之后默认就是命令模式,可以通过方向键移动光标的位置,也可以通过 k/j/h/l 上下左右移动光标的位置。

命令 含义
k 光标上移
j 光标下移
h 光标左移
l 光标右移

当文件里面的内容太多的时候,我们需要用到翻页,ctrl+b/ctrl+f上下翻页,还有一些常用的操作如下。

命令 含义
ctrl+b 向上翻页
ctrl+f 向下翻页
ctrl+u 向上翻半页
ctrl+d 向下翻半页

在命令模式要进入编辑模式,可以通过输入i,表示在当前光标的左边插入,还有一些常用的操作如下。

命令 含义
i 在当前光标左边插入
a 在当前光标右边插入
A 在当前光标的行末插入
o 在光标所在行的下方插入一行并切换到输入模式
O 在光标所在行的上方插入一行并切换到输入模式
s 删除当前光标位置并插入

如果不想输入内容了,可以按ESC退出编辑模式,进入命令模式,可以通过dd来删除当前光标所在的行。要复制当前光标所在的行输入yy,然后要粘贴复制的内容,通过输入p表示在光标的下方粘贴复制的行,通过输入P表示在光标的上方粘贴复制的行。

vi编辑的时候默认不显示行号,通过输入:set number就可以显示行号,要跳转的第2行通过2+shift+g,而shift+g默认是跳转到最后一行。

在文件里面怎样查找你想要的字符呢?我们可以通过/log表示查找log这个单词,如果log在文件中有很多个,可以输入n表示查找下一个,shift+n表示查找上一个。

通常我们还想替换我们的内容,可以通过:s/log/error表示将log替换成error,这样操作只会替换一次,要把所有的都替换可以输入:s/log/error/g,只要在后面加上g即可。