VI全称Visual Interface,也就是可视化接口,这是Linux的标配,所有Linux操作系统中都有她的影子,就像Windows中的记事本一样。Linux环境下的文本编辑器还有vim、emacs等。Vi编辑器有三种工作模式,如下图所示:
当用vi命令打开一个不存在的文件时,会默认去创建这个文件并处于命令模式下。
文件编辑操作
vi filename #使用vi打开文件并编辑`
vi + filename #使用vi打开文件,并将光标定位在最后一行
vi +n filename #使用vi打开文件,并将光标定位在第n行
vi +/string filename #使用vi打开文件,并且关键词高亮显示
#按”n”向下查找,按“N”向上查找
vi filename filename #一次编辑多个文件
常规操作快捷键
:w #保存
:q #退出
:x #保存并退出
:q! #强制退出
:w! #强制保存
:数字 #定位到指定行
:set nu #显示行号
:set nonu #取消行号
u: #取消上一次操作
文本操作快捷键
移动光标
h #光标左移一个字符
j #光标上移一个字符
k #光标下移一个字符
l #光标右移一个字符
0 #数字0光标移至行首
$ #光标移至行尾
H #光标移至屏幕首行
M #光标移至屏幕中间
L #光标移至屏幕最末行
插入文本
i #在光标前插内内容
a #在光标后插入内容
o #(小写字母o)在所在行的下一行插入新行
O #(大写字母O)在所在行的上一行插入新行
删除文本
#n表示行数
x #删除光标后面的字符
X #删除光标前面的字符
nx #删除光标后面n个字符
nX #删除光标前面的n个字符
d0 #(数字0)删除光标至行首的内容
d$ #删除光标至行尾的内容
dd #删除整行
ndd #向下删除n行
复制文本
yy #复制整行
nyy #复制n行
p #(小写)在所在行下一行粘贴
P #(大写)在所在行上一行粘贴
dd #剪切
查找文本
/pattern #向下查找
?pattern #向上查找
n #顺序查找
N #反向查找
:s/p1/p2/g #在当前行,将p1替换成p2
:n1,n2s/p1/p2/g #将n1至n2行之间的p1替换成p2
屏幕翻滚
ctrl+u #向文件首翻半屏
ctrl+d #向文件尾翻半屏
ctrl+f #向文件尾翻一屏
ctrl+b #向文件首翻一屏
末行命令
:n1,n2 co n3 #将n1至n2行复制到n3行的下面
:n1,n2 m n3 #将n1至n2行剪切至n3行的下面
:n1,n2 d #将n1至n2行删除