Linux下常用vi编辑器命令

Linux下VI编辑器命令行,记录一下,用到的时候方便查询。

游标控制

h	游标向左移
j	游标向下移
k	游标向上移
l (or spacebar)	游标向右移
w	向前移动一个单词
b	向后移动一个单词
e	向前移动一个单词,且游标指向单词的末尾
(	移到当前句子的首部
)	移到下一个句子的首部
{	移到当前段的首部
}	移到下一段的首部
[[	移到当前区段的首部
]]	移到下一个区段的首部
0	移到当前行的首部
$	移到当前行的尾部
^	移到当前行第一个非空白字符的地方
+ or RETURN	移动到下一行的第一个字符
-	移动到上一行的第一个字符
n |	移动到当前行的字符n的地方
H	移动到当前屏幕的首部
M	移动到当前屏幕的中部
L	移动到当前屏幕的尾部
nH	移动到当前屏幕首部下的n行
nL	移动到当前屏幕尾部上的n行
Ctrl-F	移动到下一屏
Ctrl-B	移动到上一屏
Ctrl-D	向下移动半屏
Ctrl-U	向上移动半屏
z RETURN	刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的首部(是不是不明白???不明白的话,试试就知道是什么意思了)
z .	刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的中部
z -	刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕的尾部
Ctrl-L	刷新屏幕,不调整屏幕位置
Ctrl-R	刷新屏幕,不调整屏幕位置
/text	向下搜索text
/	重复上次的搜索的内容向下搜索一次
?text	向上搜索text
?	重复上此搜索的内容向上搜索一次
n	重复上此的搜索,向下搜索
N	重复上此的搜索,向上搜索
/text/+n	移动到text所在行的下面n行
?text?-n	移动到text所在行的上面n行
nG	移动到n行
:n	移动到n行
G	移动在最后一行

内容编辑

A:当前行的尾部追加内容
i:游标前插入内容
I:游标后插入内容
o:在鼠标所在行的下面添加内容
O:在鼠标所在行的上面添加内容
ESC:退出编辑模式
Ctrl-T:移动到下一个tab
Backspace:向后移动一个字符
Ctrl-U:删除当前
cw:删除游标所在的字符,然后进入编辑模式
cc:删除游标所在的行,然后进入编辑模式
C:删除从游标所在的位置到行尾的字符,然后进入编辑模式
dd:删除当前行
ndd:删除第n行
D:删除当前行游标所在的位置后面的字符
dw:删除邮编所在的字符
d}:删除当前段剩余的字符
d^:删除游标前到行首的字符
c/pat:删除游标后面到第一次匹配字符间的内容
dn:删除游标后面到下一个匹配字符间的内容
dfa:删除当前行游标到匹配字符间的内容(匹配的字符也将被删)
dta:删除当前行游标到匹配字符间的内容(匹配的字符不被删)
dL:删除从游标到屏幕的最后一行之间的内容
dG:删除从游标到文件末尾之间的内容
J:连结上下两行的内容
p:在游标后面插入buffer中的内容
P:在游标前面插入buffer中的内容
rx:用x替换字符
Rtext:用text从游标开始处进行替换
u:撤销最后的改变
U:还原当前行的内容
x:向后删除游标所在位置的字符
X:向前删除游标前面的字符
nX:删除前面的n个字符,游标所在的字符将不会被删
.:还原最后的改变
~:反转字母的大小写
y:拷贝当前行到新的buffer
yy:拷贝当前行
"xyy:拷贝当前行的buffer名为x的buffer
ye:拷贝当单词的末尾

文件操作

:w	写文件	
:w!	写文件,忽略警告信息
:w! file	覆盖文件,忽略警告信息
:wq	写文件之后退出编辑
:q	退出编辑器
:q!	强制退出编辑器
:w file	把文件的内容写到另一个文件
ZZ	退出编辑器,如果文件有改动,则保存再退出
:x	退出编辑器,如果文件有改动,则保存再退出
:n1,n2w file	把n1行到n2行间的内容写到文件file
:n1,n2w >> file	把n1行到n2行间的内容追加到文件file
:e file2	在当前文件的命令行模式下编辑file2
:e!	重新从磁盘加载文件
:e#	交替编辑文件
:n	编辑地下一行
:n!	编辑地下一行(忽略警告)
:r file	在游标后面插入文件
:r !command	在当前行的后面,插入运行命令后的输出内容

暗暗

发表评论

电子邮件地址不会被公开。 必填项已用*标注