VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是它的命令集太多,所以要想精通他,也是一件很不容易的事情,除了专业SA,对于我们开发人员而已只需要掌握一些最最常见的用法应该就可以了;下面就介绍一些常见的命令:
命令 | 描述 |
---|---|
nG | 跳转到第n行。n为行数,该命令立即使光标跳到指定行 |
G | 跳转到文件最后一行 |
gg | 跳转到文件第一行 |
Ctrl+G | 光标所在位置的行数和列数报告 |
:set nu | 编辑器中显示行号 |
Ctrl-f | 向前翻页 |
Ctrl-b | 向后翻页 |
n+ | 光标下移n行 |
n- | 光标上移n行 |
0 | 光标移至当前行首,注意是数字零 |
$ | 光标移至当前行尾 |
dd | 删除一行,后行自动上移 |
D | 删除从光标至行尾的字符 |
d0 | 删除光标至行首间的字符,注意是数字0 |
d$ | 删除光标至行尾间的字符 |
u | 撤销上一次操作,类似于Ctrl+Z |
/pattern | 从光标开始处向文件尾搜索pattern |
?pattern | 从光标开始处向文件首搜索pattern |
n | 在同一方向重复上一次搜索命令 |
N | 在反方向上重复上一次搜索命令 |
:s/p1/p2/g | 将当前行中所有p1均用p2替代;其中s代表substitute、g代表global |
:n1,n2s/p1/p2/g | 将第n1至n2行中所有p1均用p2替代 |
:g/p1/s//p2/g | 将文件中所有p1均用p2替换 |
:n | 跳转到第n行 |
i/r | 变成插入/替换模式 |
q/q! | 退出/强制不保存退出 |
:w /tmp/tmpfile | 将文件保存到制定文件,这在遇到文件是只读时特别有用 |
:x/:wq/zz | 保存并退出 |
yy p | 复制一行 |