Vim 文本编辑器
本文详细介绍 Linux vim 文本编辑器的使用方法,包括命令模式、编辑模式、末行模式的常用命令操作和注意事项。
vim 简介
vi 是 visual 的缩写。vi 编辑器是 Unix 下使用最为广泛的文本编辑器, 而 vim 则是 vi 的升级版(vi improve)。在 Linux 系统中,同时提供了 vi 和 vim 编辑器给用户使用。
实际上,早在 1976 年 vi 就已经被发布,时至今日 vim 编辑器基本还是沿用当时的使用方法,只是功能更为强大了,两者在直观上最明显的差别是 vim 能够以多种颜色显示文本。vim 编辑器相当于 Windows 中的 “记事本”,但由于是在字符终端下使用的编辑器,因此其使用方法与具有图形界面的文本编辑器的使用方法有所不同(最大的不同是鼠标没用了)。不同的 Linux 发行版本可能还会提供其他文本编辑器供人们使用,如 gedit、Emacs、nano 等,从易用性的角度来看,vim 并非最为友好易用的文本编辑器,但 vim 却是 Linux 中最基本的编辑器,这是有原因的。
在系统管理工作中,由于经常需要阅读或修改各类配置文件、日志和说明手册,同时也需要编写各种脚本以满足系统管理的需要,因此管理员首先需要懂得如何使用文本编辑器。但另一方面,在后面的许多实训任务中,如硬盘配额管理、制订周期性作业计划等,可以看到,许多命令和软件都默认调用 vi 编辑器来编辑配置文件。因此,vi 编辑器是系统管理员必须熟练掌握的基本工具之一。再者,基于短小精悍的 vi 且功能增强后的 vim 编辑器能够很好地支持 shell 脚本和 C 程序的编写,因此也深得程序开发人员的喜爱。
使用方法
vim 编辑器有 3 种工作模式:命令模式、编辑模式和末行模式。下图显示了这3种模式之间是如何切换的。
三种模式的主要功能如下:
- 命令模式:复制、粘贴、删除、移动光标、查找
- 编辑模式:编辑文本
- 末行模式:保存、退出、替换
命令模式
在命令提示符后直接输入格式为 vi [文件路径]
的命令即可启动 vim 编辑器并直接进入命令模式,其中文件路径用于指定所要编辑的文件的所在位置,如果文件不存在则会创建一个新文件。vim 编辑器的内置命令往往只有一个字母,而且按下该命令的字母后也不会在屏幕上有所显示,而是直接处理该命令。
常用的命令有以下几种:
i
:从当前位置开始输入字符,vim 编辑器进入文本编辑模式,编辑器底部将显示-- INSERT --
。a
:从当前位置的下一个位置开始输入字符,vim 编辑器同样会进入文本编辑模式。/字符串
:按下 “/” 键后,屏幕底部出现 “/”,在其后输入要搜索的字符串,按 Enter 键后 vim 编辑器从当前位置向文件底部搜索,并定位在第一个匹配搜索字符串的地方。n
:定位至下一个匹配搜索字符串的地方。
命令模式下的一些操作:
- 光标左移:
h
- 光标右移:
l
- 光标上移:
k
- 光标下移:
j
- 向右移动一个单词:
w
- 向左移动一个单词:
b
- 向右移动 80 个字符:
80 右箭头
(数字和方向,可以随意选取) - 快速向左向右移动光标:
Ctrl + 左右箭头
- 移动光标到行首:
0
- 移动光标到行尾:
$
- 移动光标到文件最后一行:
G
- 移动光标到文件第一行:
1G
(数字可以随意选取) - 复制光标所在行开始的 2 行:
2yy
(数字可以随意选取) - 将复制的行粘贴到光标所在行的下面:
p
(小写 p 表示粘贴到下一行,大写 P 表示粘贴到上一行) - 删除光标所在行开始的 3 行:
3dd
(数字可以随意选取) - 删除光标开始到单词结尾:
dw
- 删除光标开始到行首部分:
d0
- 删除光标开始到行尾部分:
d$
- 撤销上一步的操作:
u
- 重复前一步的操作:
Ctrl + r
- 重复前一步的操作:
Ctrl + r
- 进入块模式:
Ctrl + v
(可以横向或纵向选择一个文本区域) - 查找 root:
/root
回车,再按 n 或 N 向下、向上继续查找(root 是文件中的全部单词)
编辑模式
利用命令模式中的命令进入文本编辑模式后,便可在 vim 编辑器中进行文字处理。如果按 Esc 键则重新回到命令模式。
编辑模式下的一些操作:
- 用鼠标任意的选中某行,就是已经复制完成了,在需要插入的地方按下滚轮即粘贴(Linux 的一种特色);
- 按
Ctrl + n
可以实现单词补全(单词必须是当前文件中的单词,如果不存在则不能补全)。