Vim编辑的使用及详细键盘图(超实用)
本篇主要梳理一下如何使用Vim编辑器来编写、修改文档,以及对这个工具的使用,从而能更深入地理解此编辑器的命令和模式切换。
Vim编辑器的使用
Vim编辑器有三种模式:命令模式、输入模式、末行模式。每种模式都分别支持多种不同的命令快捷键, 这三种模式间的区别如下:
- 命令模式
用户启动后默认进入命令模式。此状态下,输入会被当作是命令而非输入字符,有些命令会直接执行,有些命令会切换编辑器的模式。比如,在输入i会切换到输入模式,输入:会切换到末行模式,输入x会删除当前光标所在处的字符。命令模式中,最常用的一些命令列表如下:
| 命令模式下的命令 | 说明 |
|---|---|
| dd | 删除(剪切)光标所在的整行 |
| 5dd | 删除(剪切)光标处开始的5行 |
| yy | 复制光标所在的整行 |
| 5yy | 复制从光标处开始的5行 |
| n | 显示搜索命令定位到的下一个字符串 |
| N | 显示搜索命令定位到的上一个字符串 |
| u | 撤销上一步操作 |
| p | 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面 |
命令模式只有一些最基本的命令,仍要依赖末行模式输入更多的命令。
- 输入模式
在命令模式下,按i就进入了输入模式。此模式下可以正常的文本输入,和我们在其它文本中输入完全一样。按Insert键,可以切换光标为输入/替换模式,按ESC键,则退出输入模式,切换到命令模式。
- 末行模式
末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。在命令模式下,按下:即可以进入末行模式,按ESC键,可退出末行模式,切换到命令模式。末行模式的常用命令列表如下:
| 末行模式下的命令 | 说明 |
|---|---|
| :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 |
| ?字符串 | 在文本中从下至上搜索此字符串 |
| /字符串 | 在文本中从上至下搜索此字符串 |
Vim编辑器是在三种模式间切换的,每次启动时默认是在命令模式,此时要切换到输入模式后再进行文档的编写工作,而每次在编写完文档后要回到命令模式,再进入末行模式执行文档的保存或退出工作。在Vim中,是无法直接从输入模式切换到末行模式的。其工作模式的流程图可表示成如下形式:
下面以一个实例来说明如何使用Vim编辑器。输入vi linux.txt,将进入命令模式,若linux.txt文件存在,则打开这个文件,若不存在则创建一个临时的输入文件。此时,可以切换到编辑模式,可以用a、i、o三个键切换到输入模式,这三种方式表示的意义如下:
- a:切换到输入模式后,在光标后面一位开始输入;
- i:切换到输入模式后,在光标当前位置开始输入;
- o:切换到输入模式后,在光标下面创建一个空行开始输入;
编辑完成后,可以按ESC键,返回命令模式,再输入:wq保存并退出文档,非常简单。
Vim的键盘如下图所示,可以根据这个键盘图快速熟悉相关的操作。








