vi常用命令

发布时间 2023-08-09 15:39:22作者: 阿风小子

1.一般指令模式/指令模式
1.1说明
​ 进入vi后的默认模式,主要作用为移动光标

1.2命令
1.2.1翻屏命令
Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;

1.2.2光标移动命令
H:光标移至屏幕顶行 只是当前那一屏
M:光标移至屏幕中间行
L:光标移至屏幕最后行
G:直接跳转到最后一行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

1.2.3复制粘贴删除
yy 复制光标所在行 //2yy表示复制2行
nyy 复制从光标开始的n行
p 粘贴
dd 删除光标所在行
dw 删除光标开始的一个单词

1.2.4撤销与恢复
u 撤销上一次操作
CTRL+r 恢复撤销的操作

2.编辑模式/输入模式
2.1说明
​ 按下 i, I, o, O等指令进入编辑模式,在左下方会出现 INSERT 或 REPLACE 字样

2.2命令
2.2.1进入编辑模式命令
i:在光标前
I:在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行

2.2.2退出编辑模式
ESC

3.指令行模式/末行模式
3.1说明
​ 可以进行读取、保存、替换、搜索等等动作

3.2命令
3.2.1退出命令
:q 表示退出
:q! 表示强制退出
:wq 表示保存并退出
:w 表示保存不退出
:x 同wq
:e 文件名 打开并编辑指定名称的文件;

3.2.2搜索命令
/str 从光标位置开始往文件末尾查找str,按n查找下一个,按N返回上一个
?str 从光标位置开始往文件开头查找str,按n查找下一个,按N返回上一个

3.2.3替换命令
直接替换
​ ?/p1/p2/g:将光标所在行的p1替换为p2
​ :n1,n2s/p1/p2/g:将光标所在的n1行至n2行的p1替换为p2
​ :g/p1/s//p2/g:将文件中所有的p1替换为p2
​ 或 :%s/p1/p2/g
​ :1,$s/p1/p2/g 从第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2 !

询问后替换
​ :1,$s/p1/p2/gc 从第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!