> 文本处理与搜索 > vi

vi: 强大的文本编辑器

vi 是 Unix 和 Linux 系统中广泛使用的、基于模式的强大文本编辑器。它允许用户在命令模式和插入模式之间切换来创建、编辑和保存文件,是系统管理和编程任务的必备工具。

概述

vi 是一个用于高效编辑文本文件的工具,尤其在服务器环境且没有图形界面的情况下非常有用。虽然学习曲线较陡峭,但一旦熟练掌握,可以实现非常快速的编辑。

主要特点

  • 基于模式的编辑(命令模式、插入模式、行模式等)
  • 强大的搜索和替换功能
  • 宏和脚本支持
  • 高效利用系统资源

主要选项

执行 vi 命令时可用的主要选项。

打开文件和模式

生成的命令:

请尝试组合命令。

描述:

`vi` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

使用 vi 编辑器的基本示例。vi 是基于模式的,因此需要从命令模式切换到插入模式(按 i, a, o 等),编辑后返回命令模式(按 :)进行保存和退出。

创建新文件或打开现有文件

vi new_file.txt

打开指定名称的文件,如果文件不存在则创建新文件。

以只读模式打开文件

vi -R important_config.conf

以无法修改文件内容的方式打开文件。

打开文件并跳转到指定行

vi +50 script.sh

打开文件时将光标移动到第 50 行。

保存并退出文件

vi my_document.txt
# (编辑内容后)
# 按 ESC 键
:wq

编辑完文件后,在命令模式下输入 `:wq` 保存并退出。

不保存退出

vi temp_file.log
# (编辑内容后)
# 按 ESC 键
:q!

即使修改了文件内容,也强制退出而不保存。

技巧与注意事项

vi 功能强大,但由于其基于模式的特性,初学者可能会觉得有些困难。请参考以下技巧来熟悉 vi 的使用。

vi 的核心:理解模式

vi 主要有两种工作模式。

  • 命令模式 (Command Mode): 启动 vi 时默认处于此模式。执行文件浏览、文本删除/复制/粘贴、命令执行等编辑命令。按键输入会被直接识别为命令。
  • 插入模式 (Insert Mode): 用于直接输入文本的模式。在命令模式下按 'i' (insert)、'a' (append)、'o' (open line) 等键进入。按 'ESC' 键可返回命令模式。

常用基本命令(在命令模式下)

  • i: 在当前光标位置进入插入模式
  • a: 在当前光标后位置进入插入模式
  • o: 在当前行的下方插入新行并进入插入模式
  • dd: 删除当前行
  • yy: 复制当前行
  • p: 粘贴复制/删除的内容
  • /: 文本搜索(例如:`/search_term`)
  • :w: 保存文件
  • :q: 退出(如果修改了内容会提示)
  • :wq: 保存并退出
  • :q!: 强制退出而不保存

学习 vi 的技巧

大多数 Linux 系统都包含一个名为 `vimtutor` 的 vi/vim 教程。在终端中运行 `vimtutor` 可以通过交互式方式学习 vi 的基本用法。这是熟悉 vi 的最佳方法之一。


相同类别命令