动作命令在文档中的移动

 

基于行的基本移动:

看看就明白的东西:(主要明白屏幕行与实际行就好)

^        移动到实际行第一个非空白符;
g^        移动到屏幕行第一个非空白符;

gj, gk, g0, g$ 对应着屏幕行的移动;

#另外:
ctrl-f 向下翻一页;

ctrl-b 向上翻一页;

ctrl-d 向下翻半页;

ctrl-u 向下翻半页;

H: 当前页的页首;

M:当前页的页中间;

L:当前页的页尾;

zz:让光标所在的行居于屏幕中央;

基于单词的移动:

w               正向移动到下一个单词的开头; 
b               反向移动到当前/下一个单词的开头; 
e               正向移动到当前/下一个单词的结尾; 
ge              反向移动到上一个单词的开头;
对于单词与字符串的区别:一个长一个短吧。。!!可能吧。当面向字符串时,把w,b,e,ge 改为 W,B,E,gE就可以了;
 

字符的查找功能:

f{char}         正向移动到下一个{char}所在之处; 
T{char}         反向移动到上一个{char}所在之处;                                 
t{char}         正向移动到下一个{char}所在之处的前一个字符上; 
T{char}         反向移动到上一个{char}所在之处的前一个字符上;
另个,需要知道如何遍历查找的内容:
;               重复上次的查找命令; 
,               反向查找上次的查找命令;
对于查找一个单词时,可以使用:
/{单词}         正向查找;                                                       
?{单词}         反向查找; 
n               正向遍历查找的结果; 
N               反向遍历查找的结果;

用精确的文本对象选择选区:

Vim中的文本对象由两个字符组成, 第一个字符永远是 i 或 a, 一般以 i 开头的会选择分隔符内部的文本,以 a 开头的会包括分隔符在内的整个方本。

文本对象可以结合 v 来选择可视化区域, 也可以结合 d、c、y 等动作进行删除、修改与复制;

分隔符文本对象:

image

范围文本对象:

image

小技巧:对于iw等比较适合结合 c 使用, aw等比较适合结合 d 使用。

设置位置标记,方便快速跳回:

用 m{a-z,A-Z} 可以设置位置标记,     记住:小写字母在缓冲区局部可见,大写位置在全局可见(不同文件之间)

使用 ‘{mark} 命令可跳转到标记所在行; 使用 `{mark}  (Esc下面的那个键) 可以返回到标记的位置;

另外,上面是一些自动标记的位置:

image

在匹配的括号间跳转:

使用 % 可以匹配的括号之间进行跳转;

参考:VIM实用技巧,第二版,作者:Drew Neil;翻译:杨源, 车文隆;

原文地址:https://www.cnblogs.com/yinheyi/p/6954021.html