vi常用命令总结

  • 格式:docx
  • 大小:20.11 KB
  • 文档页数:4
:x
1.修改过文件时,将编辑缓冲区的内容写回文件,并退出vi编辑环境;
2.未修改过文件是,将编辑缓冲区的内容丢弃,无写文件操作,直接退出vi编辑环境;
:q!
不保存文件并退出
1.3
i text
在当前光标所在位置,插入文本text
I text
在光标所在行的行首,插入文本text
a text
在当前光标所在位置之后,插入文本text
X
删除光标所在位置前面的字符
dd
删除光标所在的当前行
D
从光标位置开始删除至行尾
d
与光标移动命令组合使用,从光标位置开始删除至由光标移动命令限定的文本对象的末尾
.空格键
重复前面刚刚执行过的命令
u
取消前面刚执行过的插入或删除命令
U
把当前行恢复成编辑前的状态,不管对此行编辑了多少次
r字符
在取代命令r后面键入一个字符则取代光标所在位置上原来的字符
vi +n file
n指定光标在文件上停留处的行号
vi +/string file
光标停在文件中第一次出现指定字符串string的那一行的行首
1.2
:wq
保存文件并退出。把编辑缓冲区的内容写回文件,并退出vi编辑环境;
:ZZ
1.有修改时才将编辑缓冲区的内容写回文件,并退出vi编辑环境;
2.未修改过文件时,将编辑缓冲区的内容丢弃,无写文件操作,直接退出vi编辑环境;
A text
在光标所在行的行尾,入新的一行,光标停在空行的行首,等待输入
O text
在光标所在行的上面插入新的一行,光标停在空行的行首,等待输入
1.4
l或空格键或→
右移一个字符
h或退格键或←
左移一个字符
j或Ctrl+N或↓
光标下移一行,列不变
K或Ctrl+P或↑
Note:使用“\”使特殊字符失去特殊含义,模式区分大小写字母
?pattern<Esc>
从光标所在行开始向后查找模式(pattern),其余同上
n
重复上一个检索命令,检索方向与检索命令相同
N
重复上一个检索命令,检索方向与检索命令相反
:s/string1/string2
用字符串string2替换当前行上的第一个字符串string1
1.1
vi
对一个无文件名的文件进行操作
vi filename
1.如果文件不存在,则新建一个文件,光标停留在屏幕的左上角;
2.如果文件存在,则编辑该文件,将文件的内容读入编辑缓冲区,并在屏幕中显示文件的内容;状态指示行显示正在编辑的文件名、行数和字符数;若文件的内容不足一屏时,屏幕的下方以字符“~”开头的行补齐;以“~”开头的行表示空行。
:s/string1/string2/g
用字符串string2代换当前行上所有的字符串string1
R text<Esc>
在R后面输入的若干字符一一取代光标所在位置及后面原来的若干字符直到按Esc键为止
1.6
Ctrl+F
上滚一屏
Ctrl+B
下滚一屏
Ctrl+U
上滚半屏
Ctrl+D
下滚半屏
Ctrl+Y
上滚一行
Ctrl+E
下滚一行
1.7
/pattern<Enter>
从光标所在行开始向前查找模式(pattern),在找到第一个相匹配的字符串后,光标停在该字符串的第一个字符上。如果没有给定模式,就使用上一次检索时所用的模式
光标上移一行,列不变
+或回车键
移到下一行的第一列
-
移到上一行的第一列
^
移至行首
$
移至行尾
[行号]G
移至指定行
[列号]I
移至指定列
H
移至屏幕左上角
M
移至屏幕中间行的开头
L
移至屏幕最底行
Ctrl+G
得到当前行的行号
:set number
显示所有行的行号
:set nonumber
取消所有行的行号
1.5
x
删除光标所在位置的字符