每个动作都可以在运算符命令之后使用,因此该命令可对动作范围所包含的文本进行操作。
就像运算符命令一样,动作可以包括计数,因此您可以按指令移动2w。
在Vim中,正常的箭头/光标键(←↓↑→)可以正常工作。但是,对于触摸打字机,使用hjkl替代键会更容易。在典型的键盘上,它们位于同一行上彼此相邻,并且可以使用右手轻松访问。记住哪一个的记忆方法如下:
h/ l—它们位于键盘上四个字母中的“最左/最右”,因此分别等效于“向左/向右”;
j —小写字母“ j”的尾巴在典型字母下方“向下”,如小箭头-等效于“向下”;
k —相反,小写字母“ k”的“升序”在典型字母上方“向上”,就像一个小指针一样,因此等效于“向上”。
以下所有命令应在正常模式下完成。
命令 | 描述 |
---|---|
h 要么 left | [count]向左走字符 |
j 要么 down | 去[count]下面的字符 |
k 要么 up | 去[count]上面的字符 |
l 要么 right | [count]向右走字符 |
gg | 走第一[count]行,如果有的话 |
H | 转到可见屏幕的第一行 |
M | 转到可见屏幕的中线 |
L | 转到可见屏幕的最后一行 |
G | [count]如果有的话,走最后一行或第 |
Home 要么 0 | 转到行的第一个字符 |
^ | 转到该行的第一个非空白字符 |
+ | 向下一行到第一个非空白字符 |
- | 上一行到第一个非空白字符 |
$ 要么 End | 转到该行的末尾(如果[count]给出,则[count - 1]向下一行) |
| | [count]如果count未指定,则转到第'个字符或转到行的开头 |
f{char} | 转到[count]“包含{char}”正确的位置 |
F{char} | 转到[count]“含{char}左”的第 |
t{char} | 转到[count]“{char}右”的唯一出现 |
T{char} | 转到左侧的唯一[count]出现次数{char} |
; | 重复最新f,t,F或T[count]倍 |
, | 重复最新f,t,F或T,在相反方向上,[count]次 |
w | 转到下一个单词的开头 |
b | 转到上一个单词的开头 |
e | 转到下一个单词的结尾 |
ge | 转到上一个单词的结尾 |
% | 转到匹配的对e.g(), [], {},/* */或#if, #ifdef, #else, #elif, #endif |
{} | 上/下一段 |
[{]} | 块的开始/结束 |
'{char} | 进行标记(用标记m{char}) |
<C-B><C-F> | 上一页/下一页 |
<C-O><C-I> | 在“跳转列表”中返回或前进(需要jumplist功能,请参阅:help jumps) |
注意:b,e和w,默认情况下将单词视为字母,数字和下划线(可以使用此iskeyword设置进行配置)。这些中的每一个也可以大写,从而使它们也跳过所有非空白的内容。
注意:Vim识别两种运动:运算符运动(:help movement)和跳跃(:help jumplist)。像执行那些运动g(gg,G,g,)算作跳跃,因为这样做的改变。更改将获得自己的跳转列表,如上所述,可以通过g,和对其进行导航g;(请参阅参考资料:help changelist)。Vim不将跳转视为运动命令
跨线上下移动时,光标将保留其预期的列。如果新行太短,光标将移动到新行的末尾。如果列超出行尾,则光标显示在行尾。初始列号仍将保留,直到采取措施对其进行更改(例如,编辑文本或显式移动列)为止。
如果行的长度超过屏幕的宽度,则将自动换行(在默认设置下,可以配置此行为)。要遍历屏幕上显示的行而不是文件中的行,请g在通常的命令前添加。例如,gj即使光标在文件的同一行中,也将光标移动到当前位置下一行显示的位置。