工欲善其事,必先利其器
作为Linux开发的必不可少的工具,能够将Vi的功效发挥到极致,必然能够提高我们的工作效率,下面是一些Vi的使用技巧。
1、光标定位、翻屏滚屏。
命令 | 功能 |
$ | 当前行的末尾 |
0 | 当前行的开头 |
gg | 文件头 |
G | 文件尾 |
10gg 10G | 跳到第10行 |
`` | 这是两个 back quote,在键盘上是ESC下边那个键。 回到光标跳转前的位置 |
H | 跳到屏幕上的第一行 |
M | 跳到屏幕的中间行 |
L | 跳到屏幕上的最后一行 |
gk | 屏幕所见的上一行 |
gj | 屏幕所见的下一行 |
在Vim的命令模式下,有很多移动光标的命令,带给我们很大的便利。最常用的莫过于0 和$ ,把光标定位在行头和行尾。
常用的还有G 把光标定位在文件尾,gg 回到文件头。在这两个命令前面加一个数字就可以去到那一行,例如10gg 会带你去到第10行。
`` 的作用是回到光标跳转前的位置。例如,假设光标现在在第10行,按 G 去到文件尾,再按 `` 就可以回到第10行。
如果你发觉有时候k 和j 不是很好用(按一下就跨越屏幕上的几行),可以试一下用gk 和gj 。
2、复制、剪切、粘贴。
命令 | 功能 |
dd | 删除当前行 |
yy | 复制当前行 |
d$ | 删除从光标位置到行尾的内容 |
yt< | 复制从光标位置到下一个“<”前的内容 (另外,ct< 修改从光标至“<”前的内容,在编辑HTML、XML文件时很方便) |
"x复制 | 把复制内容放进寄存器x (x可以是26个英文字母之一,区分大小写) |
"xp | 粘贴寄存器x的内容 |
"+ | 特殊寄存器,读写系统剪贴板 |
:reg | 查看各个寄存器的内容 |
D 删除光标处至行尾的字符