vi常用命令

vi 是 Linux 系统中常用的文本编辑器,它有两种模式:命令模式(Command Mode)和插入模式(Insert Mode)。以下是一些常用的 vi 命令:

  1. 命令模式下的命令

    • i:进入插入模式,在光标前插入文字。
    • I:在当前行的第一个非空白字符前插入文字。
    • a:在光标后插入文字。
    • A:在当前行的行尾插入文字。
    • o:在当前行下方打开新行并进入插入模式。
    • O:在当前行上方打开新行并进入插入模式。
    • r:替换当前光标下的字符。
    • J:将当前行与下一行合并。
    • dd:删除当前行,并复制到剪贴板。
    • yy:复制当前行。
    • p:粘贴剪贴板内容到光标后。
    • P:粘贴剪贴板内容到光标前。
    • u:撤销上一次操作。
    • Ctrl + r:重做上一次被撤销的操作。
    • :w:保存文件。
    • :wq:x:保存文件并退出。
    • :q:退出 vi。
    • :q!:强制退出 vi,不保存更改。
    • :w!:强制保存文件,即使文件属性为只读。
    • :set number:显示行号。
    • /word:向下搜索“word”。
    • ?word:向上搜索“word”。
    • n:查找下一个匹配项。
    • N:查找上一个匹配项。
    • :%s/old/new/g:替换文件中所有的“old”为“new”。
    • :%s/old/new:替换每行中的第一个“old”为“new”。
    • :help:打开帮助文档。
  2. 移动光标的命令

    • h:向左移动光标。
    • j:向下移动光标。
    • k:向上移动光标。
    • l:向右移动光标。
    • G:移动到文件的最后一行。
    • gg:移动到文件的第一行。
    • :n:移动到第 n 行。
  3. 在命令模式下,以下按键有特殊含义

    • Ctrl + a:递增当前行的数字。
    • Ctrl + x:递减当前行的数字。
    • Ctrl + f:向前滚动屏幕。
    • Ctrl + b:向后滚动屏幕。
    • Ctrl + d:向前滚动半屏。
    • Ctrl + u:向后滚动半屏。
    • Ctrl + y:复制当前光标行之上的内容。
    • Ctrl + e:复制当前光标行之下的内容。
  4. 进入/退出插入模式

    • i:在当前光标位置前进入插入模式。
    • I:在当前行首进入插入模式。
    • a:在当前光标位置后进入插入模式。
    • A:在当前行末尾进入插入模式。
    • o:在当前行下方新开一行进入插入模式。
    • O:在当前行上方新开一行进入插入模式。
    • Esc:退出插入模式,回到命令模式。
  5. 查找和替换

    • /pattern:向下查找“pattern”。
    • ?pattern:向上查找“pattern”。
    • n:查找下一个匹配项。
    • N:查找上一个匹配项。
    • :%s/old/new/g:替换文件中所有的“old”为“new”。
  6. 保存和退出

    • :w:保存文件。
    • :wq:x:保存文件并退出。
    • :q:退出 vi。
    • :q!:不保存更改强制退出。

这些是 vi 编辑器中最常用的一些命令,掌握这些命令可以帮助您更高效地使用 vi

高级命令和技巧:

  1. 块操作

    • v:进入可视模式,可以逐字块选择文本。
    • V:进入可视行模式,可以按行选择文本。
    • Ctrl + v:进入可视块模式,可以按块选择文本。
    • d:删除选中的文本。
    • y:复制选中的文本。
    • c:更改选中的文本(删除并进入插入模式)。
    • ~:切换选中字母的大小写。
  2. 多光标编辑

    • Ctrl + n:在下一个匹配项处插入光标。
    • Ctrl + p:移除当前光标(如果有多个光标)。
  3. 宏录制

    • q<register>:开始录制宏到寄存器。
    • q:停止录制宏。
    • :<register>:执行寄存器中的宏。
  4. 全局命令

    • :%s/old/new/g:在整个文件中替换文本。
    • :g/old/p:打印包含“old”的所有行。
    • :v/old/d:删除包含“old”的所有行。
  5. 窗口分割

    • :split:sp:水平分割窗口。
    • :vsplit:vsp:垂直分割窗口。
    • Ctrl + w:切换到下一个窗口。
    • Ctrl + w s:水平分割窗口并切换到新窗口。
    • Ctrl + w v:垂直分割窗口并切换到新窗口。
  6. 标签页

    • :tabnew:tabnew:在新标签页中打开文件。
    • gt:切换到下一个标签页。
    • gT:切换到上一个标签页。
  7. 折叠

    • za:打开或关闭当前折叠。
    • zM:关闭所有折叠。
    • zR:打开所有折叠。
  8. 寄存器

    • "ay:将选中文本复制到寄存器a。
    • "ap:粘贴寄存器a的内容。
  9. 搜索技巧

    • *:查找当前光标下的单词。
    • #:查找当前光标下的单词的上一个匹配项。
    • gn:跳转到下一个匹配项的最后一次出现。
    • gN:跳转到上一个匹配项的最后一次出现。
  10. 模式匹配

    • :%s/\(.*\)/\1\1/g:将每一行翻倍。
    • :%s/\(.\{-}\)/\1\1/g:将每个单词翻倍。
  11. 使用正则表达式

    • :%s/\(\%.\)\@<=abc/xyz/:替换字符串,仅在字符串后跟abc时。
  12. 快速编辑

    • .:重复上一次的命令或操作。
  13. 状态栏

    • :set showcmd:显示命令的前缀。
    • :set ruler:显示光标位置。
    • :set number:显示行号。
  14. 文件编码

    • :set fileencodings:查看支持的文件编码。
    • :set encoding=utf-8:设置文件编码为UTF-8。
  15. 插件

    • vi 可以通过插件扩展功能,如 vim-plugPathogen 等。

这些高级命令和技巧可以帮助您更有效地使用 vi 编辑器。记住这些命令需要时间和实践,所以不要担心一次记住所有内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值