文章

一篇文章教会你使用命令行工具vi

一篇文章教会你使用命令行工具vi

前言

在 Linux 和 macOS 终端环境下,vi(Vim 的前身)是最常见的文本编辑器之一。尽管初学者可能会被它的界面吓到,但熟练掌握后,vi 可以让你高效地编辑文本,成为开发者和运维工程师的利器。

本篇文章将从 vi 的基本操作讲起,带你逐步掌握这个强大的命令行工具。

1. 如何打开和退出 vi

打开 vi

在终端中输入以下命令即可打开 vi

1
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 进行窗口切换。

    宏录制(批量操作)

  1. 进入普通模式,按 q 再按一个字母(例如 a)开始录制。2. 执行一系列操作。3. 按 q 停止录制。4. 按 @a 运行宏。5. 按 @@ 运行上次执行的宏。

    6. 练习与进阶学习

可以使用以下方法提高 vi 操作技能:

  • 练习 vimtutor:
1
vimtutor

这是一个内置的 vi 教程,非常适合新手。- 在线练习网站:vim-adventures.com- 多使用 vi 进行日常文本编辑。

结语

虽然 vi 乍看之下有些复杂,但掌握基本操作后,你会发现它的高效之处。希望这篇文章能帮助你快速入门 vi,提高文本编辑效率!

扩展

本文由作者按照 CC BY 4.0 进行授权