vi学习笔记

前言

前段时间自学了Linux系统,vi编辑器常常在学习的过程中有用到。熟练使用vi命令对于我们操作Linux系统有很大的帮助,我在此把我练习过程中用到的vi命令给整理了一下。

vi命令

移动光标类命令

命令 含义
w或W 光标右移一个字至字首
b或B 光标左移一个字至字首
e或E 光标右移一个字至字尾
) 光标移至句尾
( 光标移至句首
} 光标移至段落开头
{ 光标移至段落结尾
nG 光标移至第n行首
n+ 光标下移n行
n- 光标上移n行
n$ 光标移至第n行尾
H 光标移至屏幕顶行
M 光标移至屏幕中间行
L 光标移至屏幕最后行
0(数字零) 光标移至当前行行首
$ 光标移至当前行尾

屏幕翻滚类命令

命令 含义
ctrl+u 向文件首翻半屏
ctrl+d 向文件尾翻半屏
ctrl+b 向文件首翻一屏
ctrl+f 向文件尾翻一屏

插入文本类命令

命令 含义
i 在光标前插入
I 在当前行首插入
a 在光标后插入
A 在当前行尾插入
o 在当前行之下新开一行
O 在当前行之上新开一行
r 替换当前字符
R 替换当前字符及其后的字符,直至按ESC键

删除命令

命令 含义
d0 删至行首
d$ 删至行尾
ndd 删除当前行及其后n-1行
x或X 删除一个字符,x删除光标后的,而X删除光标前的

搜索及替换命令

命令 含义
/pattern 从光标开始处向文件尾搜索pattern
?pattern 从光标开始处向文件首搜索pattern
n 在同方向重复上一次搜索命令
N 在反方向上重复一次搜索命令
: s/p1/p2/g 将当前行中所有的p1均用p2代替
: g/p1/s//p2/g 将文件中所有的p1均用p2替换

其他命令

命令 含义
: q 退出
: q! 强行退出
: wq 保存退出
u 撤销修改的
: set number 显示行号