(转载)http://www.oschina.net/question/12_25114
这个图把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) |
f x
|
在目前行往后搜寻字元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
|
自动补齐档名 |