简介
如果说 Nano 是「记事本」,那么 Vim 就像战斗机的驾驶舱。
它功能强大、速度快,而且几乎随处可用。但它也因令初学者感到困惑而闻名。
为什么要使用它?掌握这些「秘密握手」(快捷键)后,你编辑文本的速度可以快到超出思考速度。
Vim 拥有悠久的历史,在 Unix 和 Linux 文化中享有很高的声誉。人们持续使用它,并不是因为它初看起来很友好,而是因为它以键盘为核心的编辑方式在掌握基础知识后可以变得极其高效。
在本实验中,你将学习最基本的操作:如何打开 Vim、输入内容,以及最重要的——如何退出 Vim。
打开文件
先打开一个文件。我们已经为你准备好了名为 welcome.txt 的文件。
运行以下命令:
vim welcome.txt
欢迎使用 Vim。
不要慌:
你可能会立即尝试输入内容,但什么也不会发生。
这是因为 Vim 启动时处于普通模式(Normal Mode)。在这种模式下,键盘按键表示命令。按下 d 并不会输入字母「d」,而可能会删除某些内容!
「模式」这一概念是 Vim 让初学者感到陌生的主要原因。大多数编辑器默认键盘始终用于输入文本。Vim 将输入文本与执行命令分开,这会带来一定的学习曲线,但理解这种模式后,你就能非常快速地编辑文本。
要输入文本,必须先切换模式。
插入文本(插入模式)
要输入文本,必须进入插入模式(Insert Mode)。
按下字母 i。
查看左下角,你应该会看到:-- INSERT --
现在,Vim 的行为就像普通文本编辑器一样。你可以自由输入文本。
可以把插入模式理解为一种临时模式:需要编写文本时进入插入模式,需要移动光标或执行编辑命令时返回普通模式。
返回普通模式(Esc)
现在向文件中添加一个新行。
使用方向键移动到文件末尾,按 Enter 键,然后输入:
Hello LabEx
很好,你已经添加了文本。现在先停下来!
要保存或退出,必须返回普通模式(Normal Mode)。
按下 Esc 键。
-- INSERT -- 标签会消失。现在你已返回命令模式,此时按键会作为工具使用。
经验法则:如果当前没有主动输入文本,就按 Esc 键。
Vim 用户经常强调这一点是有原因的。Esc 是返回安全、可预测的命令状态的快捷方式。
删除行(dd)
现在使用一次普通模式下的高效操作来删除一行。
- 确保处于普通模式(按
Esc)。 - 将光标移动到这一行:
This is a line that you will delete later. - 快速连续按两次
d:**dd**。
看,整行已经消失了。dd 代表「删除行」(Delete Line)。
这一步体现了 Vim 为什么被认为功能强大。简短的按键序列可以按文本结构执行操作,而不只是逐个字符处理。
保存并退出(:wq)
现在,来回答最著名的问题:「如何退出 Vim?」
我们使用冒号 : 命令。
- 确保处于普通模式(按
Esc)。 - 输入
:wq。w:写入(保存)。q:退出。
- 你应该会在左下角看到
:wq。 - 按 Enter 键。
Vim 会保存文件并关闭。现在你已经返回 shell!
:wq 这样的冒号命令属于 Vim 编辑器内部的命令行界面。换句话说,除了编辑模式之外,Vim 还包含自己的一套小型命令系统。
总结
你已经完成了第一次 Vim 之旅。
- **
vim filename**:打开驾驶舱。 - **
i**:插入模式(开始输入)。 - **
Esc**:普通模式(停止输入,准备执行命令)。 - **
dd**:删除行。 - **
:wq**:写入并退出。
熟练使用 Vim 需要形成肌肉记忆,但掌握 Vim 后,你就能成为真正的 Linux 高级用户。



