QT实战:Unix下vi编辑器常用命令速查表

QT实战:Unix 下 vi 编辑器常用命令速查表

vi 编辑器是 Unix/Linux 系统中经典且必备的文本编辑工具,它无需依赖图形界面,在服务器管理、代码编写、配置文件修改等场景中都能发挥关键作用。由于 vi 采用多模式操作逻辑,新手容易因模式切换混乱而降低效率,为此整理这份常用命令速查表,按操作模式分类梳理核心指令,帮助不同层级的使用者快速上手、高效操作。

一、模式切换(基础中的基础)

vi 的核心操作依赖模式切换,不同模式对应不同功能,掌握切换方式是使用 vi 的前提。

操作 命令 说明
命令模式 → 插入模式 i 在光标当前位置前插入(最常用)
命令模式 → 插入模式 a 在光标当前位置后插入
命令模式 → 插入模式 o 在光标下一行新建空行并插入
命令模式 → 插入模式 O 在光标上一行新建空行并插入
插入模式 → 命令模式 Esc 退出插入,回到命令模式(必记)
命令模式 → 末行模式 : 输入冒号进入,用于保存、退出、查找替换等

二、命令模式(移动 / 删除 / 复制,高频)

进入 vi 后默认处于命令模式,该模式下可实现光标定位、内容删改、复制粘贴等基础操作,无需进入插入模式即可完成大部分编辑准备工作。

1. 光标移动(无需按 Esc,命令模式直接用)

命令 说明 适用场景
h/j/k/l 左 / 下 / 上 / 右移动(替代方向键,高效) 精细移动光标
0(数字零) 跳到行首 快速定位行开头
$ 跳到行尾 快速定位行结尾
gg 跳到文件开头 从头编辑文件
G 跳到文件末尾 编辑文件最后内容
nG(如 10G 跳到第 n 行 定位指定行(如编译报错的行号)
w 跳到下一个单词开头 按单词移动(编辑代码变量)
b 跳到上一个单词开头 回退单词

2. 删除 / 剪切(命令模式)

命令 说明 示例
x 删除光标所在字符 删单个错字
dd 删除 / 剪切当前行(整行) 删空行、错行(最常用)
ndd(如 3dd 删除 / 剪切从当前行开始的 n 行 删多行代码
d$ 删除从光标到行尾的内容 删行尾多余内容
d0 删除从光标到行首的内容 删行首多余内容
dw 删除光标所在单词 删代码中的变量名

3. 复制 / 粘贴(命令模式)

命令 说明 示例
yy 复制当前行(整行) 复制单行代码(最常用)
nyy(如 5yy 复制从当前行开始的 n 行 复制多行代码
p 粘贴到光标下一行 粘贴复制 / 剪切的内容
P 粘贴到光标上一行 向上粘贴

4. 撤销 / 重做(命令模式)

命令 说明 场景
u 撤销上一步操作 改错内容时回退
Ctrl + r 重做撤销的操作 撤销错了恢复

三、末行模式(保存 / 退出 / 查找替换,核心)

先按 Esc 回到命令模式,再按 : 进入末行模式,命令输入后按回车执行,该模式主要用于文件的整体管理和批量内容修改。

命令 说明 常用程度
:w 保存文件(不退出) ⭐⭐⭐⭐⭐
:w filename 另存为指定文件名 ⭐⭐⭐
:q 退出 vi(文件未修改时) ⭐⭐⭐⭐⭐
:q! 强制退出,不保存修改 ⭐⭐⭐⭐
:wq / :x 保存并退出(等价,最常用) ⭐⭐⭐⭐⭐
:set nu 显示行号(编辑代码必备) ⭐⭐⭐⭐⭐
:set nonu 隐藏行号 ⭐⭐
:/keyword 向下查找关键词(如 :/QIcon ⭐⭐⭐⭐
:?keyword 向上查找关键词 ⭐⭐⭐
:n 查找下一个匹配项(按回车也可) ⭐⭐⭐⭐
:N 查找上一个匹配项 ⭐⭐⭐
:%s/old/new/g 全局替换:将文件中所有 old 替换为 new ⭐⭐⭐⭐
:%s/old/new/gc 全局替换,每次替换前确认(c=confirm) ⭐⭐⭐
:n1,n2s/old/new/g 替换 n1 到 n2 行的 old 为 new(如 :5,10s/abc/def/g ⭐⭐⭐

四、实用进阶命令(开发场景高频)

命令 模式 说明
Ctrl + f 命令模式 向下翻页(查看长文件,如日志)
Ctrl + b 命令模式 向上翻页
r 命令模式 替换光标所在字符(无需进入插入模式)
:%d 末行模式 删除文件所有内容(慎用)
:w !sudo tee % 末行模式 强制保存只读文件(如系统配置文件)
:set hlsearch 末行模式 高亮显示查找结果(默认开启)
:set nohlsearch 末行模式 取消查找高亮

五、新手避坑提示

  1. 忘记切换模式:编辑内容前必须按 i/a/o 进入插入模式,否则输入的字符会被识别为命令,容易误操作;

  2. 保存退出失败:只读文件需加 sudo(如 :w !sudo tee %),若无需保留修改可直接用 :q! 强制退出;

  3. 查找替换失效:全局替换必须加 g 标识(如 :%s/old/new/g),不加则仅替换每行第一个匹配项。

总结

vi 编辑器的操作核心在于模式切换指令组合,新手可先牢记基础的模式切换、内容保存退出及行级删改指令,再逐步掌握批量查找替换等进阶功能。无论是编写代码、修改系统配置,还是查看日志文件,这份速查表都能覆盖绝大多数使用场景,建议使用者结合实际操作反复练习,形成肌肉记忆以提升编辑效率。

(注:文档部分内容可能由 AI 生成)

相关推荐
我命由我123459 小时前
VSCode - VSCode 插件 Prettier Tab 键缩进设置
前端·ide·vscode·学习·职场和发展·编辑器·学习方法
蓝天智能10 小时前
QT实战:Unix 系统内存异常排查
unix·qt5
蓝天智能10 小时前
Qt实战:Unix_Linux下QTableView Checkbox不显示?问题排查+样式定制全攻略
linux·qt·unix
studytosky11 小时前
Linux 基础开发工具(1):yum 与 vim 实用指南
linux·运维·服务器·git·python·编辑器·vim
承渊政道11 小时前
C++学习之旅【C++类和对象(上)】
c语言·c++·学习·编辑器
拿我格子衫来11 小时前
图形编辑器基于Paper.js教程32:绘制贝塞尔曲线,并进行二次编辑
javascript·图像处理·编辑器·图形渲染
渔舟唱晚@12 小时前
从原理到实现:基于 Y.js 和 Tiptap 的实时在线协同编辑器全解析
开发语言·javascript·编辑器
询问QQ688238861 天前
基于Matlab的蓝色车牌识别系统(进阶版):车牌定位与识别技术实战
unix
齐齐大魔王1 天前
系统安装概述
编辑器·github