前言
在 Linux 和 macOS 终端环境下,vi(Vim 的前身)是最常见的文本编辑器之一。尽管初学者可能会被它的界面吓到,但熟练掌握后,vi 可以让你高效地编辑文本,成为开发者和运维工程师的利器。
本篇文章将从 vi 的基本操作讲起,带你逐步掌握这个强大的命令行工具。
1. 如何打开和退出 vi
打开 vi
在终端中输入以下命令即可打开 vi:
vi 文件名
如果 文件名 存在,则打开该文件;如果不存在,则创建一个新文件。
退出 vi
vi 最让新手困惑的地方之一是如何退出。可以使用以下命令:
:q------ 退出(如果有未保存的修改,则会报错)。:q!------ 强制退出,不保存修改。:wq或ZZ------ 保存并退出。
2. vi 的模式
vi 有三种主要模式:
| 模式名称 | 说明 |
|---|---|
| 普通模式 | 默认模式,用于移动光标、删除文本等 |
| 插入模式 | 允许输入文本,类似于普通编辑器 |
| 命令模式 | 允许执行保存、搜索、替换等命令 |
模式切换
- 普通模式 → 插入模式:按
i(在光标前插入)、a(在光标后插入)、o(新建一行并插入)。 - 插入模式 → 普通模式:按
Esc键。 - 普通模式 → 命令模式:按
:键。
3. vi 的基本操作
光标移动
| 按键 | 作用 |
|---|---|
h |
左移 |
l |
右移 |
j |
下移 |
k |
上移 |
0 |
移动到行首 |
$ |
移动到行尾 |
gg |
移动到文件开头 |
G |
移动到文件结尾 |
📌 提示 :你也可以使用
Arrow(方向键)进行移动。
删除和撤销
| 命令 | 作用 |
|---|---|
x |
删除光标所在字符 |
dd |
删除当前行 |
D |
删除光标后所有内容 |
u |
撤销上一步操作 |
Ctrl + r |
重新执行撤销的操作 |
复制、剪切和粘贴
| 命令 | 作用 |
|---|---|
yy |
复制当前行("yank") |
p |
在光标后粘贴内容 |
dd |
剪切当前行 |
d$ |
剪切光标到行尾的内容 |
y$ |
复制光标到行尾的内容 |
快捷键速查表
| 快捷键 | 功能 |
|---|---|
Ctrl + f |
向下翻页 |
Ctrl + b |
向上翻页 |
Ctrl + d |
向下移动半页 |
Ctrl + u |
向上移动半页 |
J |
将当前行与下一行合并 |
. |
重复上一次操作 |
4. 搜索与替换
搜索
/关键词------ 向下搜索关键词。?关键词------ 向上搜索关键词。n------ 跳到下一个匹配项。N------ 跳到上一个匹配项。
替换
:%s/旧字符串/新字符串/g------ 替换整个文件中的所有匹配项。:s/旧字符串/新字符串/g------ 替换当前行中的所有匹配项。
5. 进阶技巧
多窗口编辑
:split 文件名------ 水平分屏打开文件。:vsplit 文件名------ 垂直分屏打开文件。Ctrl + w再按h/j/k/l进行窗口切换。
宏录制(批量操作)
- 进入普通模式,按
q再按一个字母(例如a)开始录制。 - 执行一系列操作。
- 按
q停止录制。 - 按
@a运行宏。 - 按
@@运行上次执行的宏。
6. 练习与进阶学习
可以使用以下方法提高 vi 操作技能:
-
练习
vimtutor:shellvimtutor
这是一个内置的
vi教程,非常适合新手。 -
在线练习网站:vim-adventures.com
-
多使用
vi进行日常文本编辑。
结语
虽然 vi 乍看之下有些复杂,但掌握基本操作后,你会发现它的高效之处。希望这篇文章能帮助你快速入门 vi,提高文本编辑效率!