1. 移动指针:
上下左右:
k
h l
j
横向移动:
0: 行首第一个字符
^: 行第一个非空字符
g0: 屏幕行首第一个字符,不过这里的行指的是屏幕显示的行,如果行太长自动化换行的还,那么会移动到屏幕显示的行的第一个字符,而不是真正行的第一个字符;
^0: 屏幕行第一个非字符;
g$: 屏幕行最后一个字符;
gm:屏幕行中间字符;
gM:真正行中间字符;
| + N: 到第N列;
f + {char}: 移动到右侧最近字符char;
F + {char}: 移动到左侧最近字符char;
t + {char}: 移动到左侧第一个char之左的一个字符;
T + {char}: 移动到右侧第一个char之右的一个字符;
;:重复fFtT命令;
,:重复fFtp相反的命令;
上下移动:
-: 向上移动一行,并且移动到行首非空字符;
+:向下移动到第一个,并且移动到行首非空字符;
_: 移动n-1行;
G: 移动到最后一行,或者指定行数;
gg: 移动到第一行;
%: 按百分比移动行数,必须给出数值才能用;
gk: 向上移动屏幕行;
gj:向下移动屏幕行;
按词单位移动:
w:下一个词首;
W:下一个词首,按空格判断词;
e: 下一个词尾;
E: 下一个词尾,按空格判断词;
b: 上一个词首;
B: 上一个词首,按空格判断词;
ge: 下一个词首;
gE: 下一个词首,按空格判断词;
): 往后移动一句;
(: 往前移动一句;
{:往前移动一段;
}: 往后移动一段;
]#: 往后找if else未封口;
[#: 往前找if else未封口;