VI常用命令及快捷键
H
移动到当前屏幕的首部
:set ai
打开自动缩进
nH
移动到当前屏幕首部下的n行
:setsw=n
将移动宽度设置为n个字符
M
移动到当前屏幕的中部
:set nu
每行前打印行号
L
移动到当前屏幕的尾部
:set list
显示制表符(^I)和行尾符号
nL
移动到当前屏幕尾部上的n行
0
移到当前行的首部
$
移到当前行的尾部
ESC
回到命令模式
"xp
粘贴x缓存区到光标后
:w
保存文件但不退出
"xP
粘贴x缓存区到光标前
:w file
保存修改到file,但不退出
u
撤消最后一次修改
:wq/:x
保存文件并退出
U
撤消当前行的所有修改
:q!
不保存文件退出
.
重复最后一次修改
:e!
放弃所有修改,回滚到最后保存
,
以相反的方向重复前面f/F/t/T查找命令
nG
移动到n行
:n
移动到n行
G
移动在最后一行
在m行通过n,用nt文本替换ot文本
dd
删除整行
&
重复最后的:s命令
ndd
从当前行开始往后删除
:g/t1/s/t2/t3
查找包含t1的行,用t3替换t2
db
删除光标前面的字
:g/text/cm
在所有包含text的行运行命令cm
ndb
从当前行开始往前删除n字
w
光标向前移动一个单词
:n,md
从第m行开始往前删除n行
b
光标向后移动一个单词
d或d$
从光标处删除到行尾
e
向前移动一个单词,游标定位单词末尾
yy
拷贝当前行
(
移到当前句子的首部
nyy
拷贝n行
)
移到下一个句子的首部
p
粘贴文本到光标后
Ctrl-F
移动到下一屏
P
粘贴文本到光标前
Ctrl-B
移动到上一屏
"xnyy
拷贝n行到x缓存区,x取a~z
Ctrl-D
向下移动半屏
"xndd
剪切n行到x缓存区,x取a~z
Ctrl-U
向上移动半屏
ye
拷贝当单词的末尾
^
移到当前行第一个非空白字符的地方
VI常用命令及快捷键
:set ts=8
为文本输入设置tabstops
+
移动到下一行的第一个字符
:set ic
查找时忽略大小写
-
移动到上一行的第一个字符
:set noic
查找时对大小写敏感
删除光标处1个或n个字符
Ftext
在当前行向后查找text
X/nX
删除光标前1个或n个字符
ttext
在当前行向前查找text,并定位光标
dw
删至下一个字的开头
Ttext
在当前行向后查找text,并定位光标
ndw
从当前光标处往后删除n个字
:s/ot/nt
用nt文本替换ot文本
dG
删除行,直到文件结束
:m,ns/ot/nt
a
在光标后插入文本
;
重复前面的f、F、t或T查找命令
A
在当前行后插入文本
/text
在文件中向前查找text
i
在光标前插入文本
?text
在文件中向后查找text
I
在当前行前插入文本
n
在同一方向重复查找
oቤተ መጻሕፍቲ ባይዱ
在当前行下边插入文本
N
在相反方向重复查找
O
在当前行上边插入文本
ftext
在当前行向前查找text
x/nx