
2.3 Linux操作系统下的vi和vim编辑器
vi编辑器是Linux文本编辑器中最流行的编辑器之一,类似Windows自带的记事本编辑软件。不同的是vi编辑器没有记事本操作方便,用户在使用时,首先要掌握vi编辑器的几种工作模式,然后要了解使用vi常用的编辑命令。网络运维选用vi编辑器的原因,是因其占用网络带宽小。vi编辑器功能非常强大,是Linux操作系统中的重要组成部分。
vi编辑器有三种工作模式,分别是浏览模式、插入模式以及底行模式。浏览模式下可以控制屏幕光标的移动,可以对字符、字或行进行删除,还可以执行移动、复制等操作,用户在任何模式下只需要通过Esc键就可以返回浏览模式;在用户输入i关键字符时,vi编辑器就进入了插入模式;当用户在浏览模式下输入冒号(:)则进入底行模式。vi编辑模式转换,如图2-19所示。

图2-19 vi编辑模式切换
2.3.1 vi的基本操作
在Linux操作系统中,Linux内核是内置vi编辑器的,不需要Linux系统安装完成后在线安装。因为vi编辑页面和我们习惯使用的记事本操作方式完全不同,操作上不是很友好,Linux下很多程序接口可以直接使用它进行编辑处理。在学习如何使用vi编辑器之前,用户可以先查看一下它的版本,如图2-20所示。

图2-20 查看vi编辑器版本
vi编辑器的命令非常多,初学者刚开始使用时会不习惯,因此掌握vi编辑器使用方式的第一步就是要先了解它的常用命令,新手可以对照表2-1的命令,多多练习vi的编辑方式。
表2-1 vi编辑常用命令表

(续)

对于vi编辑器的基本操作,我们主要演示vi编辑器对文件的编辑和保存操作,具体操作细节如图2-21和图2-22所示。

图2-21 编辑操作

图2-22 保存操作
2.3.2 vim的基本操作
vim编辑器是vi编辑器的升级版,最新发行的Linux系统也逐渐将vim内置。对于嵌入式Linux系统开发来说,掌握vim编辑器有利于提高代码编写的效率。vim编辑器和vi编辑器相比更加方便,但是vim不属于内置在Linux中的软件,大部分的Linux系统需要在线安装vim支持包,如图2-23所示。
vim支持包安装完成以后,可以通过vim命令查看支持包的版本信息,如图2-24所示。

图2-23 在线安装vim支持包

图2-24 vim版本信息
为了能够更好地区别vi编辑器和vim编辑器,特别选择分别由vi和vim编写的hello world的c程序文件,如图2-25和图2-26所示。

图2-25 vi编辑器编写

图2-26 vim编辑器编写
作为vi编辑器的升级版,vim在使用上更简单方便,不仅增加了颜色代码提示、编译及错误跳转等编程功能,还增加了模式切换提醒功能,当用户键入i字符时,尾行显示“插入”字样。回到浏览模式时“插入”字样消失,用户键入,行列号提示消失。vim的基本操作指令和vi相兼容,因此这里不再赘述。