本文归纳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! ——不保存直接退出