VI常用命令有哪些?

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

vi 常用命令表格
(图片来源网络,侵删)

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 常用命令表格
(图片来源网络,侵删)

查找与替换命令

末行模式下,(向下搜索)、(向上搜索)可定位文本,搜索后按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 常用命令表格
(图片来源网络,侵删)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/361045.html<

(0)
运维的头像运维
上一篇2025-09-23 14:22
下一篇 2025-09-23 14:26

相关推荐

  • Linux命令如何显示文件或目录的全路径?

    在Linux操作系统中,命令行是用户与系统交互的重要方式,掌握如何通过命令显示文件或目录的全路径是日常操作中的基础技能,全路径指的是从根目录(/)开始到目标文件或目录的完整路径,home/user/documents/report.txt,本文将详细介绍多种在Linux中显示全路径的方法,包括基础命令组合、高级……

    2025-11-15
    0
  • Linux 查看当前目录命令有哪些?

    在Linux操作系统中,查看当前所在目录是日常操作中非常基础且频繁的需求,无论是系统管理员、开发者还是普通用户,都需要掌握相关命令来快速定位当前的工作目录,Linux提供了多种命令来实现这一功能,每种命令都有其独特的特性和适用场景,本文将详细介绍这些命令的使用方法、输出含义以及实际应用技巧,基础查看命令:pwd……

    2025-11-14
    0
  • Linux查看当前目录命令是什么?

    在Linux操作系统中,查看当前所在目录是日常操作中非常基础且频繁的需求,无论是进行文件管理、脚本编写还是系统调试,都需要明确当前的工作路径,Linux提供了多种命令来实现这一功能,每种命令都有其独特的用法和适用场景,本文将详细介绍这些命令,包括它们的基本用法、常用选项、实际应用场景以及与其他命令的结合使用,帮……

    2025-11-04
    0
  • Windows进入文件夹命令是什么?

    在Windows操作系统中,进入文件夹的命令主要通过命令提示符(CMD)或PowerShell来实现,这些命令能够帮助用户快速导航文件系统,尤其适用于批量操作或自动化脚本场景,以下是关于Windows进入文件夹命令的详细说明,包括基础命令、参数使用、路径规则以及常见问题解答,基础命令:CD(Change Dir……

    2025-11-03
    0
  • 命令行如何快速查看文件大小?

    在命令行环境中查看文件大小是Linux和Unix系统管理中常见的操作,掌握多种命令可以帮助用户根据不同需求灵活获取文件信息,以下将详细介绍几种常用的命令行查看文件大小的方法,包括基本用法、参数选项及实际应用场景,使用ls命令查看文件大小ls是列出目录内容的命令,通过添加-l(长格式)选项可以显示文件的详细信息……

    2025-11-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注