命令行编辑:
1.:w 保存文件但不退出vi
2.:w file 将修改另外保存到file中,不退出vi3.:w! 强制保存,不推出vi
4.:wq 保存文件并退出vi
5.:wq! 强制保存文件,并退出vi
6.q: 不保存文件,退出vi
7.:q! 不保存文件,强制退出vi
8.:e! 放弃所有修改,从上次保存文件开始再编辑
内容编辑
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 | 在当前行的后面,插入运行命令后的输出内容 |