每当在讲课时遇到需要让学生记住的知识点时,为了能让他们打起精神来,我都会突然提高嗓门,因此有句话他们记得尤其深刻:“在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数”。而且在日常工作中大家也肯定免不了要编写文档,这些工作都是通过文本编辑器来完成的。刘遄老师写作本书的目的是让读者切实掌握Linux系统的运维方法,而不是仅仅停留在“会用某个操作系统”的层面上,所以我们这里选择使用Vim文本编辑器,它默认会安装在当前所有的Linux操作系统上,是一款超棒的文本编辑器。
Vim之所以能得到广大厂商与用户的认可,原因在于Vim编辑器中设置了三种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。要想高效率地操作文本,就必须先搞清这三种模式的操作区别以及模式之间的切换方法(见图4-1)。
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
图4-1 Vim编辑器模式的切换方法
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。Vim编辑器中内置的命令有成百上千种用法,为了能够帮助读者更快地掌握Vim编辑器,表4-1总结了在命令模式中最常用的一些命令。
表4-1 Vim中常用的命令
>命令 作用
>dd 删除(剪切)光标所在整行
>5dd 删除(剪切)从光标处开始的5行
>yy 复制光标所在整行
>5yy 复制从光标处开始的5行
>n 显示搜索命令定位到的下一个字符串
>N 显示搜索命令定位到的上一个字符串
>u 撤销上一步的操作
>p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入一个冒号就可以了。末行模式中可用的命令如表4-2所示。
>表4-2 末行模式中可用的命令
>命令 作用
>:w 保存
>:q 退出
>:q! 强制退出(放弃对文档的修改内容)
>:wq! 强制保存退出
>:set nu 显示行号
>:set nonu 不显示行号
>:命令 执行该命令
>:整数 跳转到该行
>:s/one/two 将当前光标所在行的第一个one替换成two
>:s/one/two/g 将当前光标所在行的所有one替换成two
>:%s/one/two/g 将全文中的所有one替换成two
>?字符串 在文本中从下至上搜索该字符串
>/字符串 在文本中从上至下搜索该字符串
(c) 2024 chaojicainiao.com MIT license