Linux vi命令用法


本文归纳vi命令常见用法,随操作系统版本不同,可能有所差异,vi命令还是太过个性化了,编辑键、功能键等几乎都用自己的约定,如果不是长期使用Unix/Linux,根本记不住,每次用每次查,本文只归纳常用几个按键,能vi进入,能vi保存,能vi退出就够用的了。

一、vi打开编辑文件

vi <filePathAndName>

示例:vi test.conf,vi /tmp/test.conf,...

如果指定的filePathAndName存在则会自动载入该文件内容,如果不存在则会自动创建。

注:每行前显示波浪符号的表示该行为空行。

二、vi进入输入模式

vi工作于两种模式:指令模式和输入模式。指令模式是打开文件后的默认模式模式,此时输入任何字符均被视为控制指令。输入模式就是普通的编辑模式,此时输入字符默认为输入内容。

三、vi编辑指令

1、屏幕翻页

  • Ctrl+u: 向上翻半屏
  • Ctrl+f: 向上翻一屏
  • Ctrl+d: 向下翻半屏
  • Ctrl+b: 向下翻一屏

2、移动光标指令

移动光标普遍使用的是方向键,考虑兼容问题,vi定义太多的方向指令,下面只是一小小部分(常用的几个):

  • space: 光标右移一个字符
  • Backspace: 光标左移一个字符
  • Enter: 光标下移一行
  • nG: 光标移至第n行首
  • n+: 光标下移n行
  • n-: 光标上移n行
  • n$: 光标移至第n行尾
  • 0: 光标移至当前行首
  • $: 光标移至当前行尾

3、插入删除指令

常用插入、删除指令如下:

  • i:在当前光标前插入,光标后文本向后移
  • a:从当前光标后插入,光标后文本后移
  • I:在光标所在行首插入(第一个非空白字符前)
  • A:从光标所在行末插入
  • o: 在光标所在行下面新增一行(并进入输入模式)
  • O: 在光标所在行上方新增一行(并进入输入模式)
  • x: 删除光标所在字符,等同于[Delete]功能键
  • X: 删除光标前字符,相当与[Backspace]
  • dd: 删除光标所在的行
  • r: 修改光标所在字符
  • R: 替换当前字符及其后的字符,直到按 [ESC]
  • s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
  • S: 删除指定数目的行,并以所输入文本代替之
  • do: 删至行首
  • d$: 删至行尾

四、vi退出

退出输入模式,先按一下[ESC]键(有时要多按两下),然后执行:

  • :w ——保存当前文件
  • :wq —— 存盘退出(与指令 :x 功能相同)
  • :q —— 直接退出,如已修改会提示是否保存
  • :q! ——不保存直接退出

更多vi命令:

除了上文罗列指令外,还有搜索及替换命令、内容拷贝命令等命令,有兴趣读者可自行Google搜索。

相关内容