菜鸟科技网

VI常用命令有哪些?

在Linux和Unix-like系统中,vi(Visual Editor)是一款经典的文本编辑器,其高效的操作方式深受系统管理员和开发者的喜爱,掌握vi的常用命令是提升工作效率的关键,以下将详细列出vi的常用命令并以表格形式呈现,同时补充操作场景和注意事项,帮助用户快速上手。

VI常用命令有哪些?-图1
(图片来源网络,侵删)

vi编辑器有三种主要模式:命令模式(Command Mode)、插入模式(Insert Mode)和末行模式(Last Line Mode),初次进入vi时,默认处于命令模式,此时无法直接输入文本,需要通过命令切换到插入模式进行编辑;编辑完成后,需切换回命令模式保存或退出文件;末行模式则用于执行保存、退出、搜索等高级操作。

vi常用命令详解

文件打开与退出命令

在终端输入vi 文件名即可打开文件,若文件不存在则创建新文件,退出vi的命令需根据需求选择,q用于退出未修改的文件,wq保存并退出,q!强制退出不保存修改,这些命令均在末行模式下执行,因此在输入命令前需先按Esc键确保处于命令模式,再按进入末行模式。

光标移动命令

光标移动是编辑操作的基础,命令模式下,h(左)、j(下)、k(上)、l(右)可实现字符级移动;w(移动到下一个单词首)、b(移动到上一个单词首)、e(移动到当前单词末)则用于单词级跳转;0(行首)、(行尾)、gg(文件首行)、G(文件末行)可快速定位行位置。数字+G(如5G)可直接跳转至指定行号。

文本编辑命令

插入模式下可直接输入文本,而命令模式下的编辑命令更高效:i(光标前插入)、a(光标后插入)、o(当前行下方插入新行)、O(当前行上方插入新行)可进入插入模式;x(删除光标处字符)、dd(删除当前行)、dw(删除当前单词)、d$(删除光标至行尾)用于删除操作;p(粘贴到光标后)、P(粘贴到光标前)需配合yy(复制当前行)、yw(复制当前单词)使用;u(撤销上一步操作)、Ctrl+r(重做)可修正编辑错误。

VI常用命令有哪些?-图2
(图片来源网络,侵删)

查找与替换命令

末行模式下,(向下搜索)、(向上搜索)可定位文本,搜索后按n(下一个结果)、N(上一个结果)跳转;替换命令%s/旧文本/新文本/g可全局替换,%s/旧文本/新文本/gc则会在替换前提示确认,避免误操作。

文件保存与另存命令

保存文件使用w,若需另存为新文件,则通过w 新文件名实现;结合可强制操作,如w!覆盖只读文件,q!放弃修改退出。

vi常用命令表格

功能分类 命令 模式 说明
打开文件 vi 文件名 终端模式 打开或创建文件,默认进入命令模式
退出文件 q 末行模式 未修改时退出
保存并退出 wq 末行模式 修改后保存并退出
强制退出不保存 q! 末行模式 放弃所有修改并退出
光标左移 h 命令模式 左移一个字符
光标下移 j 命令模式 下移一行
光标上移 k 命令模式 上移一行
光标右移 l 命令模式 右移一个字符
移至行首 0 命令模式 数字0,非字母O
移至行尾 命令模式 光标移至当前行末尾
移至文件首 gg 命令模式 快速跳转至第一行
移至文件末 G 命令模式 快速跳转至最后一行
跳转至指定行 数字+G 命令模式 10G跳转至第10行
光标前插入 i 命令模式 进入插入模式,光标前输入文本
光标后插入 a 命令模式 进入插入模式,光标后输入文本
下方插入新行 o 命令模式 当前行下方新增一行并进入插入模式
上方插入新行 O 命令模式 当前行上方新增一行并进入插入模式
删除光标处字符 x 命令模式 删除单个字符
删除当前行 dd 命令模式 剪切当前行,可配合p粘贴
删除当前单词 dw 命令模式 从光标处删除至单词末尾
删除至行尾 d$ 命令模式 删除光标右侧所有字符
复制当前行 yy 命令模式 复制整行,可配合p粘贴
复制当前单词 yw 命令模式 复制光标所在单词
粘贴至光标后 p 命令模式 粘贴复制或剪切的内容
粘贴至光标前 P 命令模式 p相对,粘贴在光标左侧
撤销操作 u 命令模式 撤销上一步编辑
重做操作 Ctrl+r 命令模式 恢复撤销的操作
向下搜索 末行模式 搜索后按n跳转至下一个结果
向上搜索 末行模式 搜索后按N跳转至上一个结果
全局替换 %s/旧/新/g 末行模式 替换文件中所有匹配项
替换并确认 %s/旧/新/gc 末行模式 每次替换前提示确认
保存文件 w 末行模式 保存当前修改
另存为新文件 w 新文件名 末行模式 保存至指定文件名
强制保存 w! 末行模式 覆盖只读文件或保存至无权限文件

操作注意事项

  1. 模式切换:vi的核心在于模式区分,若无法输入文本,需确认是否处于命令模式,按Esc可确保回到命令模式。
  2. 命令大小写:vi命令区分大小写,如dd删除行,而DD无效;w保存,W移动到下一个空格分隔的单词。
  3. 数字前缀:多数命令支持数字前缀,如3dd删除连续3行,5j下移5行,提升批量操作效率。
  4. 文件权限:保存文件时需确保对文件所在目录有写权限,否则w会报错,需使用w!强制保存(若允许)。

相关问答FAQs

问题1:vi编辑器中如何快速跳转到文件的最后一行?
解答:在命令模式下,按大写字母G即可快速跳转到文件的最后一行,若需跳转到第一行,可按gg;跳转到指定行(如第20行),则输入20G后回车。

问题2:在vi编辑时,如果不小心误删了大段内容,如何恢复?
解答:在命令模式下,按u可撤销上一步操作,连续按u可逐步撤销多步操作,若需恢复被撤销的内容,可按Ctrl+r进行重做,若误删后未进行其他操作,也可通过p粘贴之前删除的内容(如dd删除后,p可粘贴删除的行)。

VI常用命令有哪些?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇