vi命令怎么使用方法

是 Unix/Linux 系统下的文本编辑器,打开文件后按 i 进入插入模式可编辑

Vi 命令使用方法

vi命令怎么使用方法

Vi 是一款在 Unix 及类 Unix 系统中广泛使用的文本编辑工具,它有三种模式:命令模式、插入模式和底行模式,掌握这些模式的切换及相应命令,能高效地使用 Vi 进行文本编辑。

进入与退出 vi

  • 进入 vi:在终端输入 vi filename(如果文件存在则打开,不存在则创建新文件),或者 vi -R filename 以只读模式打开现有文件。
  • 退出 vi:在命令模式下,输入 :q 退出(如果文件有修改未保存,需先保存或放弃修改);输入 :wq 保存并退出;输入 :x 也相当于保存并退出,且更智能,如果文件没有修改则直接退出,有修改则保存后退出。

模式切换

模式 切换方式 说明
命令模式 启动 vi 后默认进入 在此模式下,用户可以执行各种光标移动、删除、复制等操作指令,但不能输入文本内容
插入模式 在命令模式下按 i 键(在光标当前位置插入文本)、a 键(在光标所在字符后插入文本)、o 键(在当前行下方新建一行并进入插入模式)等 此模式下可输入文本内容
底行模式 在命令模式下按 键 用于执行文件保存、退出等操作命令

命令模式下的常用操作

  • 光标移动
    • h 或 :光标向左移动一个字符。
    • j 或 :光标向下移动一个字符。
    • k 或 :光标向上移动一个字符。
    • l 或 :光标向右移动一个字符。
    • 0:光标移动到当前行的最前面。
    • :光标移动到当前行的最后面。
    • w:光标向前移动一个单词。
    • b:光标向后移动一个单词。
    • nG:跳转到第 n 行(5G 跳转到第 5 行)。
    • gg:跳转到文件的第一行。
    • G:跳转到文件的最后一行。
  • 删除操作
    • x:删除光标所在的字符。
    • dd:删除当前行。
    • dG:删除从当前行到文件末尾的所有行。
    • ndd:删除从当前行开始的 n 行(3dd 删除当前行及下面两行)。
    • D:删除从当前光标位置到行尾的内容。
  • 复制与粘贴
    • yy:复制当前行。
    • nyy:复制从当前行开始的 n 行(2yy 复制当前行及下一行)。
    • p:在光标所在位置的下一行粘贴复制的内容。
    • P:在光标所在位置的上一行粘贴复制的内容。
  • 撤销与重做
    • u:撤销上一个操作。
    • Ctrl + r:重做被撤销的操作。

插入模式下的操作

在插入模式下,可以直接输入文本内容,就像在使用普通文本编辑器一样,按 Esc 键可退出插入模式,回到命令模式。

vi命令怎么使用方法

底行模式下的常用操作

  • 文件保存
    • :w:保存文件,但不退出 vi。
    • :w filename:将文件保存为指定的名字(:w newfile.txt)。
  • 文件退出与保存退出
    • :q:退出 vi(如果有修改未保存,会提示是否放弃修改)。
    • :wq:保存文件并退出 vi。
    • :x:与 :wq 类似,保存并退出 vi,且更智能,若文件无修改则直接退出。

查找与替换

  • 查找:在命令模式下,输入 /要查找的内容,然后按 Enter 键,vi 会将光标定位到第一个匹配的位置,继续按 n 键可以查找下一个匹配项,按 N 键可以查找上一个匹配项。
  • 替换:在命令模式下,输入 :s/旧内容/新内容/,会替换当前行的第一个匹配项;输入 :s/旧内容/新内容/g,会替换当前行的所有匹配项;输入 :%s/旧内容/新内容/g,会替换整个文件中的所有匹配项。

行号显示与隐藏

在命令模式下,输入 :set number 可以显示行号,输入 :set nonumber 可以隐藏行号。

相关问题与解答

  • 问题 1:如何在 vi 中快速跳转到文件的特定行?
    • 解答:在命令模式下,输入 nG,n 是要跳转到的行号,例如要跳转到第 10 行,就输入 10G,然后按 Enter 键,光标就会定位到第 10 行。
  • 问题 2:在 vi 中如何取消正在输入的命令?
    • 解答:在命令模式下,如果正在输入命令,按 Ctrl + c 可以取消正在输入的命令,

以上内容就是解答有关vi命令怎么使用方法的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

vi命令怎么使用方法

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/13668.html

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信