所有的Unix vi文件编辑器将在Like系统中建立,例如Linux和Unix。 vi编辑器是所有Unix和Linux系统下的标准编辑器,其强度不亚于任何最新的文本编辑器。vi编辑器提供了一个用vi命令编辑文件的视窗设备。这篇文章给你带来了Linuxvi命令大全。
基本上vi可分为命令模式三种状态(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) command命令行模式 mode)
控制屏幕光标的移动,删除字符、字符或行,移动复制某个区段并进入Insert 在mode下,或到达 last line mode。
- 插入模式(Insert mode)
只有在Insert 在mode下,您可以输入文本并按下它「ESC」键可以返回命令行模式。
3) 底行模式(last line mode)
保存或退出文件vi,还可以设置编辑环境,如寻找字符串,列出行号……等。
但是,我们通常在使用它的时候把它放在使用它vi简化为两种模式,即底行模式(last line mode)也算命令行模式(command mode)。
我们可以结合下图来总结常用情况vi命令:
进入vi命令:
vi filename :打开或新建文件,并将光标放置在第一行
vi +n filename :打开文件,将光标放置在第n行第一
vi + filename :打开文件,在最后一行放置光标
vi +/pattern filename:打开文件,将光标放置在第一个与pattern相匹配的串中
vi -r filename :上次使用vi编辑时,系统崩溃,恢复filename
vi filename...filename :打开多个文件,依次编辑
移动光标类命令:
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:向上移动光标
j或Ctrl+n :向下移动一行光标
Enter :向下移动一行光标
w或W :光标右移一个字到字首
b或B :光标左移一个字到字首
e或E :光标右移一个字j到字尾
) :将光标移到句尾
( :将光标移到句首
}:光标移到段落开头
{:光标移到段落结尾
nG:光标移至第n行首
n+:光标向下移n行
n-:上移n行的光标
n$:光标移至n行尾
H :光标移到屏幕顶部
M :光标移到屏幕中间
L :光标移到屏幕的最后
0:(注意为数字零)光标移至当前行首
$:光标移到当前行尾
屏幕翻滚命令:
Ctrl+u:翻到文件的第一个半屏幕
Ctrl+d:将半屏幕翻到文件的末尾
Ctrl+f:在文件的末尾翻一个屏幕
Ctrl+b;在文件的第一个屏幕上翻一下
nz:将第n行滚到屏幕顶部,将当前行滚到屏幕顶部,而不指定n。
插入文本命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行动下,新开一行
O:在当前行动中新开一行
r:替换当前字符
R:更换当前字符和后续字符,直到按ESC键
s:从当前光标位置开始,用输入的文本替换指定数量的字符
S:删除指定数量的行,用所输入的文本代替
ncw或nCW:修改指定数量的单词
nCC:修改指定数量的行
删除命令:
ndw或ndW:删除光标处的开始和后续n-1字
do:删至行首
d$:删至行尾
ndd:删除当前行和后n-1行
x或X:删除一个字符,X删除光标后,X删除光标前
Ctrl+u:删除输入模式下输入的文本
搜索和替换命令 :
/pattern:从光标开始到文件结尾搜索pattern
?pattern:从光标开始到文件首搜索patternn
n:最后一次搜索命令在同一方向重复
N:反方向重复上一次搜索命令
:s/p1/p2/g:用P2代替当前行中的所有P1
:n1,n2s/p1/p2/g:所有P1均用P2代替N1至N2行
:g/p1/s//p2/g:用P2替换文件中的所有P1
Linuxvi命令太多,必然会有遗漏,但掌握本文中列出的这些linux vi命令足以应对日常生活中遇到的问题。当然,这些复杂的linuxvi命令很难在短时间内掌握死记硬背,更多的是加深对它们的理解,以便灵活地使用它们。