来源http://www.qianyunlai.com/blog/62.html
1.关于退出
:wq! —-强制保存退出
:wq —- 保存退出
ZZ —- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式)
:q —- 退出
:q! — 强制退出
======================================================
2.关于移动
h —- 在当前行向左移动一个字符
j —- 移动到下一行
k —- 移动到上一行
l —- 在当前行向右移动一个字符
Ctrl +f —- 向前滚动一页
Ctrl +b —- 向后滚动一页
:n —- 将光标定位到第n行
:$ —- 将光标定位到最后一行
0 —- 将光标定位到本行的行首
$ —- 将光标定位到本行的行尾
G —- 将光标定位到本文章的最后一行,与: $功能相同。
H —- 将光标定位到屏幕的顶端
M —- 将光标定位到屏幕的中间
L —- 将光标定位到屏幕的底端
======================================================
3.关于搜索
/: —- 后面跟要查找的东西,在文件中向前搜索
?: —- 后面跟要查找的东西,在文件中向后搜索
n: —- 向前重复搜索
N: —- 向后重复搜索
======================================================
4.关于复制
yy —- 复制光标当前行
nyy —- 复制光标当前行到当前行以下的n-1行
:1,100 co 200 —- 将1~100的内容复制到第200行。
:100,102 co $ —- 将100~102行的内容复制到最后一行。
======================================================
5.关于粘贴
p —- 粘贴到当前行的下一行
P(大) —- 粘贴到当前行的 上一行
======================================================
6.关于删除.剪切
dd —- 删除当前行
ndd —- 与nyy相似
dw —- 删除一个单词
ndw 与ndd相似
x —- 删除一个字符
nx —- 删除n个字符
dG —- 删除当前光标到文件末尾的所有内容。
d0 —- 删除当前光标到本行行首的所有内容
d$ —- 删除当前光标到本行行尾的所有内容
:1,100d —- 删除1~100
:100d —- 删除第100行
:1,100 mo $ —- 将1~100行的内容移动到最后一行。
======================================================
7.关于插入
i —- 在当前位置的字符前面进入插入模式
I —- 在当前行的开头进行插入
a —- 在当前位置的字符后面进入插入模式
A —- 在当前行的结尾进行插入
o —- 在当前行下面打开一个新行进行插入
O —- 在当前行上面打开一个新行进行插入
======================================================
8.关于撤销
u: 撤销上一次的更改
======================================================
9.关于替换
regexp: 是要匹配的式样
replacement: 是要替换的字符串
:s/regexp/replacement ————————-替换当前行出现的第一个式样
:s/regexp/replacement/g ————————-替换当前行所有的匹配
:%s/regexp/replacement/g ———————–替换文件中所有匹配式样
======================================================
PS: 还有一个重要的命令就是”.” 命令,这个命令是用来重复上一命令的
vi里如何:撤销上次操作?,多次重复一组编辑操作?…….
- 撤消上一个编辑操作。 ====> u
- 复上一个编辑操作。 =====> .
- 还原被撤消的编辑操作。 ======> Ctrl + R
- 多次重复一组编辑操作。 ====> “. ” 命令可以重复最近一次的编辑动作.