Vi命令详解

Vi有三种模式,分别为命令行模式、一般模式和编辑模式。在命令行输入“Vi 文件名”,即可进入Vi。常用命令如下:
一.一般模式
翻页
[Ctrl]+[f]: 向下翻一页,相当于[Page Down]按键。
[Ctrl]+:向上翻一页,相当于[Page Up]按键。
[Ctrl]+[d]:向下翻半页。
[Ctrl]+:向上翻半页。

搜索与替换
/test:从光标处开始,向下寻找一个名为test的字符串
?test: 从光标处开始,向上寻找一个名为test的字符串。
n:重复前一次搜索,即继续向下搜索下一处。
N:与n相反,反向进行前一个搜索,即向上搜索。
:n1、n2s/test1/test2/g:在n1行与n2行之间寻找test1这个字符串,并将其替换为test2。n1、n2均为数字。
:1、$s/test1/test2/gc:在第一行与最后一行之间寻找test1这个字符串,并将其替换为test2,每次替换前会询问是否替换。

删除、复制与粘贴
x、X:x为向后删除一个字符,X为向前删除。
nx:n为数字,连续向后删除n个字符。
dd:删除光标所在行。
ndd:n为数字,从光标位置开始,删除向下n行。
yy:复制光标所在行。
nyy:n为数字,复制光标所在向下n行。
p、P:p将已复制的数据粘贴到光标的下一行,P粘贴到上一行。
u:还原前一个操作,即撤销。

移动光标
n:n表示数字,按下数字后再按空格键,光标会向右移n个字符。
0:数字0,光标移到行首。
$:光标移到行末。
G:光标移到这个文件的最后一行。
nG:n为数字,光标移到文件的第n行。
h:光标左移一个字符。
l:光标右移一个字符。
j:光标下移一个字符。
k:光标上移一个字符。

二.编辑模式
按下列键可以进入编辑模式:i、I、a、A、o、O、r、R
i、I:i在当前光标所在处输入文字;I在当前所在行的第一个非空格符处插入。
a、A:a从当前光标所在的下一个字符处开始插入;A从光标所在行的最后一个字符处开始插入。
o、O:o在当前光标所在行的下一行处插入新的一行;O在当前光标所在处的上一行插入新的一行。
r、R:r替换光标所在的那一个字符;R会一直替换光标所在的文件,直到按[Esc]键为止。
Esc、Ctrl+C:退出编辑模式,回到一般模式。

三.命令行模式
:w:保存编辑过的数据到硬盘。
:W:强制保存,比如针对只读文件作修改想要保存时。
:q:退出vi。
:q!:不保存退出vi。
:wq:保存退出vi。
:e!:将文件还原到最原始的状态。
:w [filename]:另存为一个新的文件。
:r [filename]:读入另一个文件的内容。
:set nu:显示行号。
:set nonu:取消行号。

原文地址:https://www.cnblogs.com/CHEUNGKAMING/p/4147346.html