vi编辑器常用命令备忘录

来源:互联网 发布:棋牌游戏数据库配置 编辑:程序博客网 时间:2024/05/19 12:17
 切换到输入模式:
a    :从光标所在位置后面开始输入文本。
A    :从光标所在行的行尾开始输入文本。
i    :从光标所在位置前面开始插入文本。
I    :从光标所在行的第一个非空格字符前面开始插入文本。
o    :在光标所在行下方新增一列并进入输入模式。
O    :在光标所在行上方新增一列并进入输入模式。
h    :左移一列。
j    :下移一行。
k    :上移一行。
l    :右移一列。
/str    :向前查找str
n    :沿当前方向查找下一个。
N    :沿当前查找方向反向查找下一个。
w    :光标移到下一个单词开头。
b    :光标移到前一个单词开头。
e    :光标移到下一个单词末尾。
$    :光标移到当前行行尾。
^或0    :光标移到当前行行首。
fm    :光标移到文本的下一个字符m。
nG    :光标移到第n行。
G    :光标移到最后一行。
-    :光标移到当前行上一行。
+    :光标移到当前行下一行。
:n    :光标移到第n行。
:$    :光标移到最后一行。
L    :光标移到屏幕最下面一行。
M    :光标移到屏幕中间一行。
H    :光标移到屏幕最上面一行。
''    :光标返回到原来位置。(一对单引号)
x    :删除光标处的一个字符。
nx    :删除光标处的n个字符。
dd    :删除当前行。
10dd    :删除从当前行开始的10行。
dw    :删除光标处的一个单词。
df/    :删除从光标到第一个/字符之间的所有字符。
:5d    :删除第5行文本。
:5,10d    :删除第5至10行的文本。
:10,$d    :删除从第10行开始到行末。
u    :撤销最后的一次操作。
U    :撤销对当前行进行的所有修改,前提是光标没有移出当前行。
.    :重复最后一次文本修改命令。(英文句号)
J    :连接两行文本。
r    :替换当前光标处的字符。
R    :逐字符替换光标后面的文本。
s    :将当前光标处一个字符替换成多个字符。
cw    :将当前光标处一个单词替换成多个单词。
cc    :替换当前行。
cfm    :替换从光标到字符m之间的部分。
C    :替换从光标到行尾。
:s/str1/str2    :将文本中每行的第一个str1替换成str2。
:s1,10s/str1/str2:将1到10行中的每行第一个str1替换为str2。
:g/var/s/str1/str2:将包含var的行中的第一个str1替换成str2。
:1,$s/bin/BIN/g    :将整个文件中的bin替换成BIN(不是每行第一个).
yy    :将当前行复制到vi的缓冲区。
P    :将复制行粘贴到光标所在行的上一行。
p    :将复制行粘贴到光标所在行的下一行。
ddp    :上下两行交换。
yw    :复制当前单词。
yl    :复制当前字符。
yfm    :复制当前光标处到第一个m字符之间的文字。
:7 copy 10:将第7行的文本复制到第10行后面。
:7,9 copy $:将第7到第9行的文本复制到文件末尾。
:.,15 copy 3:将当前行到第15行的内容复制到第三行后面。
(.表示当前行,$表示文件尾,0表示文件开头)
:7 move 10:将第7行文本移动到第10行后面。
:w    :保存文件。
:x    :保存后退出,等于命令:wq。
:w file    :将当前文件保存到file文件中。
:10,15 write file:将第10至第15行内容保存到file文件中。
:10,15 write! file:将第10至第15行内容写到已有文件file中并强行覆盖。
:10,15 write >> file:将第10至15行内容追加到file文件尾部。
:1 read file:将文件file的内容读到当前文件的第1,2行之间。
:!cmd    :启动一个子shell并执行命令cmd。
:read !cmd:将命令cmd的输出读入当前文件当前行下面。
:0 read !cmd:将cmd命令的输出读到当前文件开头。
原创粉丝点击