Vi (Visual Interface)是 Linux下基于Shell 的文本编辑器,Vim (Visual Interface iMproved)是 Vi的增强版本,扩展了很多功能,比如对程序源文件的语法高亮。不管是 Vi 还是 Vim,我们习惯上都管它叫 Vi,但实际上用的更多的是 Vim。
在你的系统里用 alias命令看一下 vi,可以发现用到的其实是vim。
$alias vi alias vi='vim'
所有的Linux系统里会内建 Vi,它就像 Windows里的记事本,我们一般修改系统的配置文件都要用到它,所以虽然第一次用会可能不太习惯,但是我们还是要学会使用它。
用 Vi 打开或者新建一个文件只需要输入命令 vi +[文件名]就可以了,然后就进入了Vi的界面。比如用 Vi打开一个hello.c的文件,命令如下:
vi hello.c
因为 Vi 是完全基于 Shell 的,它和 Windows下的编辑器不同,分为三种模式:
对于三种不同模式之间的切换,我做了一张图方便大家记忆,可以看到命令模式是枢纽,在插入模式和末行模式之间切换需要先进入命令模式。
一、命令模式
启动 Vi 后会默认进入命令模式。在命令模式下可以看到最下面有一些信息,比如 "hello.c" 是我们当前编辑的文件名,7L 表示共有 7 行,112 C表示共有 112 个字符。1,1 表示当前光标的位置。
在命令模式下,可以完成的功能主要有:
1、光标移动
2、复制、粘贴、删除
3、查找
4、撤消
二、插入模式
插入模式就是我们正常输入或者修改文件内容的模式了,切换方法有三种:
1、输入 i : 在当前光标输入
2、输入a:在当前光标后输入
3、输入o:在下方插入新的一行
在插入模式下,界面最下方会提示 -- INSERT --
三、末行模式
在命令模式下输入 ":" 可以切换到末行模式,在末行模式下,界面最下方有":"提示,这里可以输入我们的命令。
Vi 可以支持的命令非常的多,这里列出几个比较常用的供大家参考:
1、 替换
如果/g 和 /c 要合并使用,可以写成 /gc
2、保存/退出
3、其他命令
Vi 看起来比较复杂,支持的命令也很多,其实最常用的也就几个。Vi的操作靠的是肌肉记忆,把本文中的掌握住基本就够了。