Linux vi命令介绍及 所有快捷键

vi 命令是一种文本编辑器,常用于 Linux 和 Unix 操作系统中。它的设计初衷是为了在命令行界面下对文件进行编辑,因此具有简单、高效和灵活的特点。虽然现代计算机使用图形界面的文本编辑器已很普遍,但 vi 仍然被广泛使用,尤其是在服务器运维和开发领域。在本文中,我将全面详细讲解 vi 命令及其全部快捷键。

一、vi 的基本概念

vi 的三种模式

vi 命令有三种模式,分别是命令模式(Command mode)、插入模式(Insert mode)和行末模式(Last line mode)。这三种模式的切换方式如下:

在命令模式下,按下 i 键或 Insert 键,进入插入模式。
在插入模式下,按下 ESC 键,回到命令模式。
在命令模式下,按下 : 键,进入行末模式。

vi 的基本操作

在命令模式下,我们可以使用以下基本操作:

光标移动:h(左)、j(下)、k(上)、l(右)。
进入插入模式:i,在光标前插入;a,在光标后插入。
删除操作:x,删除光标所在的字符;dd,删除整行。
撤销操作:u,撤销最后的操作。
保存操作::w,保存文件;:q,退出 vi;:q!,强制退出 vi。

1. 命令模式下的快捷键

  • 光标移动:

    • h 或 <左箭头键>:向左移动一个字符。
    • j 或 <下箭头键>:向下移动一行。
    • k 或 <上箭头键>:向上移动一行。
    • l 或 <右箭头键>:向右移动一个字符。
    • 0:移到行首。
    • $:移到行末。
    • ^:移到本行第一个非空字符处。
    • G:移到文件末尾或第 n 行(n 为数字)。
    • nG:移到第 n 行(n 为数字)。
  • 插入操作:

    • i:在光标前插入。
    • I:在行首插入。
    • a:在光标后插入。
    • A:在行末插入。
    • o:在光标下新开一行并插入。
    • O:在光标上新开一行并插入。
  • 删除和复制操作:

    • x:删除光标所在的字符。
    • dd:删除整行。
    • yy:复制整行。
    • p:在光标下粘贴。
  • 撤销操作:

    • u:撤销最后的操作。
    • Ctrl + r:恢复最后的操作。
  • 查找和替换:

    • /pattern:向前查找 pattern。
    • ?pattern:向后查找 pattern。
    • n:继续查找下一个。
    • N:继续查找上一个。
    • 😒/old/new:将光标所在行中第一个 old 替换为 new。
    • 😒/old/new/g:将光标所在行中所有 old 替换为 new。
    • :%s/old/new/g:将整个文件中所有 old 替换为 new。
  • 其他操作:

    • :w:保存文件。
    • :q:退出 vi。
    • :wq 或 :x 或 ZZ:保存文件并退出 vi。
    • !command:执行外部命令 command。
    • :set number:显示行号。
    • Ctrl + g:显示当前位置及文件状态。
    • :set tabstop=n:设置 tab 键宽度为 n 个空格。
    • :set expandtab:将 tab 转换为空格。
    • :set noexpandtab:取消将 tab 转换为空格。
    • J:将光标所在行与下一行合并。
    • :n1,n2 w file:将 n1 到 n2 行的内容保存到 file 文件中。
    • :n1,n2 w >>file:将 n1 到 n2 行的内容追加到 file 文件中。
    • :n1,n2 d:删除 n1 到 n2 行的内容。
    • :n1,n2 co n3:将 n1 到 n2 行的内容复制到 n3 行下面。
    • :n1,n2 m n3:将 n1 到 n2 行的内容移动到 n3 行下面。

2. 插入模式下的快捷键

  • ESC:回到命令模式。
  • Ctrl + g:显示当前光标位置。
  • Ctrl + h 或 Backspace:删除光标前面的一个字符。
  • Ctrl + d:删除光标后面的一个字符。
  • Ctrl + t:插入制表符(Tab)。
  • Ctrl + v:插入控制字符(例如 Ctrl + v,Ctrl + n 将插入一个换行符)。
  • Ctrl + y:插入来自光标上方的文本。
  • Ctrl + e:插入来自光标下方的文本。
  • Ctrl + a:移到行首。
  • Ctrl + e:移到行末。
  • Ctrl + f:向后翻页。
  • Ctrl + b:向前翻页。

3. 行末模式下的快捷键

  • /pattern:向前查找 pattern。
  • ?pattern:向后查找 pattern。
  • n:继续查找下一个。
  • N:继续查找上一个。
  • :w:保存文件。
  • :q:退出 vi。
  • :wq 或 :x 或 ZZ:保存文件并退出 vi。
  • :e filename:打开另一个文件。
  • :e! filename:强制打开另一个文件。
  • :n:编辑下一个文件。
  • :!command:执行外部命令 command。
  • :set number:显示行号。
  • :set nonumber:不显示行号。
  • :%s/old/new/g:将整个文件中所有 old 替换为 new。
  • :25:跳转到第 25 行。
  • : $:跳转到最后一行。
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大家都说我身材好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值