_
跳到光标下方第(COUNT-1)行的开头具有自己的键感到有些困惑。我什么时候使用它而不是
+
或^
?#1 楼
很好的问题!作为正确的议案,您是对的,
_
并不是一个特别有用的键。 :h _
*_*
_ <underscore> [count] - 1 lines downward, on the first non-blank
character |linewise|.
这里的关键词是“逐行”。因此,如果您的目标是仅移动光标,则
^
,j
和+
都可以完成工作,而指向_
的意义不大。但是作为运算符,_
非常强大。许多双键快捷方式实际上只是
_
的快捷方式。例如,dd -> d_
cc -> c_
yy -> y_
Y -> y_
等。由于是逐行运动,因此基本上不管光标从哪里开始,它都会选择要操作的整行,而
^
只是从您的角色到第一个非空白。 考虑到逐行运动与逐块运动时,可以想像我在运动之前按
v
或V
会有所帮助。所以我想象d^
等同于v^d
,我想象d_
等同于V_d
或V^d
。当然,您也可以覆盖动作以强制其为直线或字符方向。所以dv_
实际上与d^
或v^d
完全相同,而dVw
就像Vwd
一样,恰恰像d_
一样。之所以特别是“ count-1th”行,是因为
1dd
(即真正地删除所有整行,真正的d1_
删除完整的2行,真正的2dd
删除完整的3行,等等。
评论
好的,但是我会真正使用它吗? dd比d_更容易,而3yj比4y_更容易。
–牙
19年4月25日在18:02
@toothrot如果要创建自己的运算符,并希望在接下来的n行中进行运算。
–詹姆斯
19年4月25日在18:07
@Toothrot我想我想澄清一下。在日常vim编辑中,不,它并不是特别有用。我也几乎从未使用过它。之所以有用,是因为它是许多有用命令的定义。 dd可能比d_更方便,但这是因为dd只是到d_的映射。而且在vimscript中也很有用。
–詹姆斯
19年4月25日在19:24
某些执行“动作”的动作可能没有其他快捷方式。即使光标不在该行的开头,“ gU_”之类的东西也会大写当前行的所有内容。
–bmb
19年4月25日在23:08
@bmb gUU呢?我认为找到一个使用
–霍奇克
19年5月15日在18:08