vi 命令

vi 是一个功能强大的文本编辑器,在 Unix 和类 Unix 系统中非常流行。以下是一些基本的 vi 命令:

打开文件

  • vi filename:打开或新建文件,并将光标置于第一行首。

  • vi +n filename:打开文件,并将光标置于第 n 行首。

  • vi -r filename:在上次正用 vi 编辑时发生系统崩溃,恢复 filename

  • vi filename...filename:打开多个文件,依次进行编辑。

移动光标

  • h:光标左移一个字符。

  • l:光标右移一个字符。

  • space:光标右移一个字符。

  • Backspace:光标左移一个字符。

  • kCtrl+p:光标上移一行。

  • jCtrl+n:光标下移一行。

  • wW:光标右移一个字至字首。

  • bB:光标左移一个字至字首。

  • eE:光标右移一个字至字尾。

  • 0:(数字零)光标移至当前行首。

  • $:光标移至当前行尾。

  • H:光标移至屏幕顶行。

  • M:光标移至屏幕中间行。

  • L:光标移至屏幕最后行。

屏幕翻滚

  • Ctrl+u:向文件首翻半屏。

  • Ctrl+d:向文件尾翻半屏。

  • Ctrl+f:向文件尾翻一屏。

  • Ctrl+b:向文件首翻一屏。

插入文本

  • i:在光标前插入文本。

  • I:在当前行首插入文本。

  • a:在当前行尾插入文本。

  • o:在当前行之下新开一行并插入文本。

  • O:在当前行之上新开一行并插入文本。

  • r:替换当前字符。

  • R:替换当前字符及其后的字符,直至按 ESC 键。

  • s:从当前光标位置处开始,以输入的文本替代指定数目的字符。

  • S:删除指定数目的行,并以所输入文本代替之。

删除命令

  • dd:删除当前光标所在行。

  • dw:删除当前光标所在位置到下一个单词开头的内容。

  • x:删除当前光标所在位置的字符。

  • yy:复制当前光标所在行。

  • p:粘贴复制的内容。

保存和退出

  • ::进入命令模式。

  • w:保存当前文件。

  • q:退出 vi

  • wq:保存并退出 vi

  • q!:不保存文件并退出 vi

寄存器操作

  • ?nyy:将当前行及其下 n 行的内容保存到寄存器 中。

  • nCW:修改指定数目的字。

  • nCC:修改指定数目的行。

搜索及替换

  • /:从光标开始处向文件尾搜索 pattern

  • ?pattern:从光标开始处向文件首搜索 pattern

  • n:在同一方向重复上一次搜索命令。

  • N:在反方向上重复上一次搜索命令。

  • s/p1/p2/g:将当前行中所有 p1 均用 p2 替代。

  • :%s/p1/p2/g:将文件中所有 p1 均用 p2 替换。

选项设置

  • all:列出所有选项设置情况。

  • term:设置终端类型。

  • ignorecase:在搜索中忽略大小写。

  • list:显示制表位和行尾标志。

  • number:显示行号。

  • report:显示由面向行的命令修改过的数目。

  • terse:显示简短的警告信息。

  • warn:在转到别的文件时若没保存当前文件则显示 NO write 信息。

  • nomagic

Top