- tags: tech
- date: 2014-06-22
以下移动都是在普通模式
下:
-
h 或 退格:左移一个字符
-
l 或 空格:右移一个字符
-
j:下移一个字符
-
k:上移一个字符
-
gj:移动到一段内的下一行
-
gk:移动到一段内的上一行
-
- 或 Enter:把光标移至下一行第一个非空白字符
-
-:把光标移至上一行第一个非空白字符
-
w: 前移一个单词,光标停在下一个单词开头;
-
W: 移动下一个单词开头,但忽略一些标点;
-
e: 前移一个单词,光标停在下一个单词末尾;
-
E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;
-
b: 后移一个单词,光标停在上一个单词开头;
-
B: 移动到上一个单词开头,忽略一些标点;
-
ge: 后移一个单词,光标停在上一个单词末尾;
-
gE: 同 ge,不过‘单词’包含单词相邻的标点。
-
(: 前移1句。
-
): 后移1句。
-
{: 前移1段。
-
}: 后移1段。
-
fc: 把光标移到同一行的下一个c字符处
-
Fc: 把光标移到同一行的上一个c字符处
-
tc: 把光标移到同一行的下一个c字符前
-
Tc: 把光标移到同一行的上一个c字符后
-
;: 配合 f t 使用,重复一次
-
,: 配合 f t 使用,反向重复一次
上面的操作都可以配合
n
使用对操作加上次数参数,比如在正常模式下输入3h, 则光标向左移动3个字符。 -
g0: 移到光标所在屏幕行行首。
-
^: 移动到本行第一个非空白字符。
-
g^: 同 ^,但是移动到当前屏幕行第一个非空字符处。
-
$: 移动到行尾。
-
g$: 移动光标所在屏幕行行尾。
-
n|: 把光标移到递n列上。
-
nG: 到文件第n行。
-
:n 移动到第n行。
-
:$ 移动到最后一行。
-
H: 把光标移到屏幕最顶端一行。
-
M: 把光标移到屏幕中间一行。
-
L: 把光标移到屏幕最底端一行。
-
gg: 到文件头部。
-
G: 到文件尾部。
- ctrl+f: 下翻一屏。
- ctrl+b: 上翻一屏。
- ctrl+d: 下翻半屏。
- ctrl+u: 上翻半屏。
- ctrl+e: 向下滚动一行。
- ctrl+y: 向上滚动一行。
- n%: 到文件n%的位置。
- zz: 将当前行移动到屏幕中央。
- zt: 将当前行移动到屏幕顶端。
- zb: 将当前行移动到屏幕底端。
使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退和 前进。
- m{a-z}: 标记光标所在位置,局部标记,只用于当前文件。
- m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。
- `{a-z}: 移动到标记位置。
- '{a-z}: 移动到标记行的行首。
- `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。
: 移动到上次编辑的位置。'也可以,不过
`精确到列,而
'精确到行 。如果想跳转到更老的位置,可以按
,跳转到更新的位置用
`。- `": 移动到上次离开的地方。
- `.: 移动到最后改动的地方。
- :marks 显示所有标记。
- :delmarks a b -- 删除标记a和b。
- :delmarks a-c -- 删除标记a、b和c。
- :delmarks a c-f -- 删除标记a、c、d、e、f。
- :delmarks! -- 删除当前缓冲区的所有标记。
- :help mark-motions 查看更多关于mark的知识。"'
'
'`