终端编辑器入门:Ubuntu vi/vim基础操作

在Ubuntu系统中,终端是我们高效工作的重要工具,而vi/vim作为终端下的经典文本编辑器,几乎是每个Linux用户必备的技能。它虽然界面简洁,甚至有些“复古”,但功能强大且无需依赖图形界面,非常适合命令行环境下的文本编辑。本文将从最基础的操作讲起,带你快速上手vi/vim。

一、打开与退出vi/vim

使用vi/vim打开文件非常简单,只需在终端输入命令:

vim 文件名

如果文件不存在,会自动创建一个新文件;如果文件已存在,会直接打开该文件。

退出编辑器

打开文件后,按 Esc 键确保进入命令模式(默认模式),然后按以下命令退出:

  • :q:退出编辑器(仅当文件未修改时有效)。
  • :q!:强制退出,不保存修改(谨慎使用!)。
  • :wq:保存并退出(最常用)。
  • :w 文件名:将文件另存为指定名称(不退出编辑器)。
  • :x:保存并退出(与 :wq 功能相同,更安全)。

二、三种核心模式:命令模式、插入模式、底行模式

vi/vim的操作核心是模式切换,不同模式负责不同功能,初学者常因模式混淆而困惑。以下是最常用的三种模式:

1. 命令模式(默认模式)

打开文件后自动进入命令模式,此时可以移动光标、删除内容、复制粘贴等,但不能直接输入文字

光标移动

  • h:左移一个字符
  • j:下移一行
  • k:上移一行
  • l:右移一个字符
  • 0:移动到行首(数字0)
  • $:移动到行尾
  • Ctrl + f:向下翻一页
  • Ctrl + b:向上翻一页

基本编辑操作(命令模式下)

  • 删除
  • x:删除光标当前字符(如误删可按 u 撤销)。
  • dd:删除当前整行(删除后可按 p 粘贴到下方)。
  • dw:删除光标后的一个单词(需确认光标在单词开头)。

  • 复制/粘贴

  • yy:复制当前整行(按 p 粘贴到光标后)。
  • 3yy:复制接下来的3行(数字在前表示次数)。

  • 撤销与重做

  • u:撤销上一步操作。
  • Ctrl + r:重做(撤销后恢复)。

2. 插入模式(输入文字)

命令模式下按以下键进入插入模式,此时光标会变为竖线 |,可以直接输入文字:

  • i:在光标插入文字(最常用)。
  • a:在光标插入文字。
  • o:在光标当前行下方新建一行并插入文字。
  • O:在光标当前行上方新建一行并插入文字。

退出插入模式:按 Esc 键回到命令模式。

3. 底行模式(执行命令)

命令模式下按 : 键进入底行模式,此时光标会出现在屏幕底部,可执行保存、退出、查找等命令。

常用底行命令

  • :w:保存当前修改(不退出)。
  • :wq:保存并退出(最常用)。
  • :q!:强制退出(放弃修改)。
  • :/关键词:查找关键词(按 n 下一个,N 上一个)。
  • :set nu:显示行号(方便定位)。
  • :set nonu:隐藏行号。

三、快速上手练习:从新建文件到保存

现在,让我们通过一个小例子实践基础操作:

  1. 新建文件:在终端输入 vim test.txt,进入命令模式。
  2. 进入插入模式:按 i,此时光标前出现 |,输入文字(例如:Hello, Ubuntu!)。
  3. 移动光标:按 j 下移一行,按 a 在当前行后插入内容(例如:This is a test file.)。
  4. 删除错误:按 Esc 回到命令模式,将光标移到错误的字符前,按 x 删除。
  5. 复制粘贴:将光标移到第一行,按 yy 复制整行,按 p 粘贴到下方。
  6. 保存退出:按 Esc 回到命令模式,输入 :wq 保存并退出。

四、新手常见问题与技巧

  1. 误操作后如何撤销?
    u 撤销上一步,若想恢复,按 Ctrl + r

  2. 如何快速定位到某行?
    先按 Esc 进入命令模式,再按 数字 + G(例如 5G 跳转到第5行)。

  3. 需要临时查看文件内容,不想修改?
    vim -R 文件名 以只读模式打开,避免误操作。

  4. 区分vi和vim?
    vim是vi的增强版,支持语法高亮、代码补全等功能,Ubuntu默认安装的是vim,输入 vim --version 可查看版本。

五、总结

vi/vim的核心是模式切换:命令模式用于移动和编辑,插入模式用于输入文字,底行模式用于执行保存/查找等命令。初学者不必追求记住所有命令,先熟练掌握 i(插入)、dd(删除行)、p(粘贴)、wq(保存退出)这几个高频操作,再逐步扩展。

多在终端中练习,比如新建不同类型的文件(文本、代码),尝试使用查找和替换功能,很快就能适应vi/vim的高效操作!

提示:如果觉得vi/vim太复杂,可先尝试轻量级编辑器如 nano(但长期使用终端,vim仍是必学技能)。

Xiaoye