这个图把vim中基本的移动方法都画上去了,为了方便programmer,特别列出了很多只有写程式才会用的按键。除了这些以外,其实还有一些好用的东西我还没想到怎么画上去比较好(像是tags、没有标准快速键的tab、man..),如果大家有idea欢迎提供。
这些图示依照移动的单位大小分为以下几个种类,分别用不同颜色标示:
(注意,这不是完整的vim快速键列表,只是我觉得比较常用的键而已。
字符(character) | |
---|---|
h
| 左 |
j
| 下 |
k
| 上 |
l
| 右 |
单字(word) | |
---|---|
w
| 下一个word |
W
| 下一个word(跳过标点符号) |
b
| 前一个word |
e
| 跳到目前word的尾端 |
行(line) | |
---|---|
0
| 跳到目前行的开头 |
^
| 跳到目前行第一个非空白字元 |
$
| 跳到行尾 |
段落(paragraph)、区块(block) | |
---|---|
{
| 上一段(以空白行分隔) |
}
| 下一段(以空白行分隔) |
[{
| 跳到目前区块开头 |
]}
| 跳到目前区块结尾 |
%
| 跳到目前对应的括号上(适用各种括号,有设定好的话连HTML tag都能跳) |
屏幕(screen)、绝对位置 | |
---|---|
H
| 屏幕顶端 |
M
| 屏幕中间 |
L
| 屏幕底部 |
:x
xG
| 跳到第x行(x是行号) |
搜寻(search) | |
---|---|
/xxxx
| 搜寻xxxx |
#
| 往前搜寻目前游标所在的字(word) |
*
| 往后搜寻目前游标所在的字(word) |
fx
| 在目前行往后搜寻字元x |
gd
| 跳到目前游标所在的字(word)的定义位置(写程式用, 跳到定义变数/函式的地方) |
分割视窗 | |
---|---|
:split
| 分割视窗(可加档名顺便开启另一档案) |
:diffsplit xxx
| 以分割视窗和档案xxx做比较(diff) |
Ctrl-W p
| 跳到前一个分割视窗(在两个分割窗来回切换) |
Ctrl-W j
| 跳到下面的分割窗 |
Ctrl-W h
| 跳到左边的分割窗 |
Ctrl-W k
| 跳到上面的分割窗 |
Ctrl-W l
| 跳到右边的分割窗 |
自动补齐(Auto-completion) (在Insert Mode中使用) | |
---|---|
Ctrl-N
| 自动补齐档案内的下一个可能字(word) |
Ctrl-P
| 自动补齐档案内的上一个可能字(word) |
Ctrl-X Ctrl-F
| 自动补齐档名 |
台湾一位大牛写得VIM入门教程,很实用,最近学VIM,发现了他Vgod,在MIT做研究,是最近很火的MIT Sikuli项目的负责人。