前言
在 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
:shell代码解读复制代码vimtutor
这是一个内置的
vi
教程,非常适合新手。 -
在线练习网站:vim-adventures.com
-
多使用
vi
进行日常文本编辑。
结语
虽然 vi
乍看之下有些复杂,但掌握基本操作后,你会发现它的高效之处。希望这篇文章能帮助你快速入门 vi
,提高文本编辑效率!
评论记录:
回复评论: