4.6 文本编辑工具Vim
Vim编辑器是由vi发展演变而来的文本编辑器,它是一个基于文本界面的编辑工具,使用简单且功能强大。在Linux系统中的编写文档需要依靠Vim文本编辑器来实现。
4.6.1 Vim编辑器简介
Vim是vi improved的缩写,从字母本身也可以看出Vim是改进型的vi。Vim编辑器是UNIX系统最初的编辑器,是一种开源的vi编辑器而且加入了许多扩展的特性,它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。
Vim是一个程序开发工具,而不只是一个正文编辑器,因为Vim中增加了许多附加功能,例如字符串模式搜索、运行Linux命令或其他程序、进行多个文件的编辑等,所以许多Linux的程序开发人员也喜欢使用Vim编辑器。
4.6.2 Vim工作模式
Vim的工作模式有多种,但常用的工作模式主要有命令模式、输入模式和编辑模式3种。命令模式可以通过输入特定的指令实现该功能;输入模式可以实现基本的光标移动和快捷键操作;编辑模式可以实现文本的编辑功能。这3种模式可以随意切换,如图4-28所示。
图4-28 Vim三种工作模式
1.命令模式
使用Vim编辑文件时,默认处于命令模式。在此模式下,可使用方向键(上、下、左、右键)或k、j、h、i移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。在CentOS7系统中Vim处于命令模式的状态示意,如图4-29所示。
图4-29 Vim处于命令模式
2.输入模式
在输入模式下,Vim可以对文件执行写操作。使Vim进行输入模式的方式是在命令模式状态下输入i、I、a、A、o、O等插入命令,当编辑文件完成后按Esc键即可返回命令模式。
各指令的具体功能如表4-30所示。
表4-30 插入命令及功能
Vim处于输入模式状态下的示意图如图4-30所示。
图4-30 Vim处于输入模式
3.编辑模式
编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。使Vim切换到编辑模式的方法是在命令模式状态下按“:”键,Vim窗口的左下方出现一个“:”符号,此时可以输入相关指令进行操作。Vim进入编辑模式后的状态图,如图4-31所示。
图4-31 Vim处于编辑模式
4.6.3 Vim的基本操作
1.打开文件
Vim打开文件使用命令如下:
[abcd@localhost ~]$ vim 文件
刚打开文件时Vim处于命令模式,此时文件的下方会显示文件的一些信息,包括文件的总行数、字符数以及当前光标所在的位置等,此时可以使用插入命令进入输入模式对文件进行编辑。例如打开dog文件,如图4-32所示。
图4-32 打开dog文件
2.编辑文本
Vim编辑文本包括查找、替换、删除与复制操作。
(1)查找文本。当文档很长时,可以通过查找功能快速定位要查找的内容,在Vim中通过在输入模式下输入“/”关键词,实现自上往下的查找功能。Vim查找目标文本的快捷键如表4-31所示。
表4-31 Vim查找目标文本快捷键
注意:要查找的字符串是严格区分大小写的;如果在字符串中出现特殊符号,则需要加上转义字符“\”;如果在文件中并没有找到所要查找的字符串,则在文件底部会出现“Pattern not found”提示。
(2)替换文本。在输入模式下,输入“:”进入命令模式完成替换命令。Vim替换文本的快捷键如表4-32所示。
表4-32 Vim替换文本快捷键
(3)删除与复制。Vim删除与复制快捷键如表4-33所示。
表4-33 Vim删除与复制快捷键
注意:被删除的内容并没有真正删除,而是都放在了剪贴板中。将光标移动到指定位置处,按下p键,就可以将刚才删除的内容又粘贴到此处。
3.保存和退出
Vim的保存和退出是在编辑模式中进行的,可以通过输入特定的指令实现保存与退出功能。Vim常用的保存与退出指令如表4-34所示。
表4-34 Vim常用保存与退出指令