下划线命令_为什么有用?


15

我对为什么下划线命令_(它跳到光标下方第(COUNT-1)行的开头)为何得到自己的键感到有些困惑。我什么时候使用它而不是+^

Answers:


16

好问题!

没错,_就议案本身而言,它不是特别有用的键。: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^dd_等价于V_dV^d。当然,您也可以覆盖动作以强制其为直线或字符方向。所以dv_实际上与d^或完全相同v^d,并且dVw就像Vwd完全一样d_

确切地说,它是“ count-1th”行的原因是1dd(实际上是d1_)删除一整行,2dd(实际上是d2_)删除2条整行,3dd删除3条整行,依此类推。


1
好的,但是我会真正使用它吗? dd较容易d_3yj较容易4y_
Toothrot

5
@toothrot如果您正在创建自己的运算符,并且希望在接下来的n行中进行运算。
DJMcMayhem

5
@Toothrot我想我想澄清一下。在日常vim编辑中,不,它并不是特别有用。我也几乎从未使用过它。之所以有用,是因为它是许多有用命令的定义dd可能比更加方便d_,但这是因为dd只是到的映射d_。而且在vimscript中也很有用。
DJMcMayhem

9
某些执行“动作”的动作可能没有其他快捷方式。即使光标不在该行的开头,“ gU_”之类的东西也将大写当前行的所有内容。
bmb

1
@bmb gUU呢?我认为值得在其中<operator>_使用一个实际示例。
Hotschke
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.