购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.3 编辑器vi/vim

编辑器是在CentOS下工作不可缺少的工具,在日常的运维管理中,对文本内容的编辑就会用到编辑器。vi/vim是一款简单便捷的文本编辑器,也是CentOS下的标配,本小节将对编辑器的基本概念、基本模式和模式间的切换进行介绍。

1.vi/vim编辑器的基本概念

目前,vi编辑器是UNIX/CentOS下标准的编辑器,也是基本的文本全屏编辑器。该编辑器工作在字符模式下,由于在运行时不需要图形界面的支持,所以成为效率很高的文本编辑器。该编辑器运行时所占的内存比较少,更重要的是它的运行速度快。不过在很多CentOS中,执行vi实际上是调用vim编辑器来工作,这是由于vim运行在vi兼容模式下。

事实上,vim是改良版的vi编辑器,它在vi的基础上增加了很多新的特性,如在编程时使用不同的颜色显示不同层次的代码,在打开文档时将光标放在最后一次退出文件时所在位置等。

vim由国际计量局、国际电工委员会、国际临床化学和实验医学联合会、国际标准化组织、国际理论化学和应用化学联合会、国际理论物理和应用物理联合会、国际法制计量组织发布。尽管vim是从vi改良而来的,还增加了不少功能,但操作方式基本没有发生多大变化,仍然是全屏编辑,使用键盘来操作,且键盘上的每个按键几乎都有固定的用法,简单方便。

2.vi/vim编辑器的基本模式

vi/vim编辑器的模式包括命令行模式、编辑模式和末端模式三种,接下来详细介绍。

(1)命令行模式

该模式是打开文本时进入的模式,从不严格的意义上来说,该模式是一种只读模式,但在该模式下可以控制光标移动、删除字符以及对字符(串)进行复制等。命令行模式有属于自己的命令,因此在该模式下使用相关的命令就可以对内容进行修改,同时显示在屏幕上,但所输入的内容一定要合法(就是能够被识别的字符/字符串),否则就会被拒绝执行。

(2)编辑模式

编辑模式也称插入模式,是用来编辑、存盘和退出文件内容的模式。在该模式下输入的任何字符都显示在屏幕上,但实际上这些内容都被写入缓冲区,只有经过保存后才被写入文件。如果内容还没保存就被强行或异常退出,则会在当前目录下产生一个以swp为后缀的同名隐藏文件,在这种情况下打开该文件时会出现以下信息:


E325: ATTENTION
Found a swap file by the name ".file.swp"
          owned by: root   dated: Sat Jan  9 12:04:15 2021
         file name: ~root/ss
          modified: YES
         user name: root   host name: centos-s8
        process ID: 1168
While opening file "file"
 
(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r file"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".file.swp"
    to avoid this message.
"file" [New File]
Press ENTER or type command to continue

对于这个文件,把它删除就可以了。

(3)末端模式

末端模式相当于命令行模式,通常以只读的方式显示内容,用于反馈编辑的结果,包括一些提示信息或错误消息。该模式的标记性信息就是在编辑窗口左下角出现“:”或“/”符号,在该模式下可以直接退出编辑器或进入编辑模式。

3.编辑器模式间的切换

对于vi/vim编辑器的模式,可以通过特殊的命令(符号)来实现相互间的切换,这三种模式间的关系如图2-1所示。

对于编辑器的使用,打开终端后,编辑文件时要先打开该文件(如vi file_name,vi与文件间以空格隔开),此时进入编辑器的命令行模式,在该模式下可以查看文本的内容,在一定条件下可以编辑文本的内容。

在命令行模式下可以进入编辑模式和末端模式。要进入编辑模式,在命令行模式下按a/i/s键即可进入,在编辑模式下可以对文本的内容进行编辑,但此时需要注意当前用户是否有权限编辑,如果没有权限编辑,就会在该窗口的左下角提示为只读文件,这就意味着不能编辑该文件。

图2-1 vi/vim编辑器三种模式间的关系

在编辑模式下,要进入末端模式,只需要按一次Esc键并输入冒号“:”即可,如果只是按Esc键则会返回命令行模式。当然,对于编辑好的内容,可以使用“:wq”保存并退出,如果不保存而强制性退出,只需要执行“:q!”就可以。其中,w是保存,q是退出。 GvNxk27UdPHWQA7Xa2t6c2YmBeiGmR4mnujWWcnj2QbW7MKohE4hH0H9BL+jLGGf

点击中间区域
呼出菜单
上一章
目录
下一章
×