vim中的下划线动作有什么作用?

Tyl*_*den 12 vim

我不理解 vim 中的下划线动作,至少在 yank (y) 的上下文中不理解。我的备忘单上写着:

"soft" bol down
Run Code Online (Sandbox Code Playgroud)

我不明白。如果我单独使用动作,它的意思似乎是一样的^:转到行上的第一个非空白处。

但是,如果我使用 with 的动作,y它会猛拉整条线(如yyY)。另一方面,y^不会拉出整行,而只会拉到第一个非空白字符,排他性 - 正如您所期望的那样。

那么,下划线_运动到底应该做什么?

Ing*_*kat 15

如果没有一个计数,^并且_确实是相当的,但后者支持计数:

  _  <underscore>         [count] - 1 lines downward, on the first non-blank
                          character |linewise|.
Run Code Online (Sandbox Code Playgroud)

Thelinewise解释了您的第二个观察结果:当用作动作时,它不仅涵盖了前一个位置和新位置之间的文本,而且涵盖了整个行集。

仔细阅读:help可提供这些见解。您还将看到(通过接​​近度),该_命令与+和密切相关-

  • 为什么存在 `_` 命令——为什么有人更喜欢它而不是 `+`? (4认同)
  • @TylerDurden 差异为 1(行),对于任何‘[count]’值,‘[count] - 1’和‘[count]’之间的差异也是如此。正如 Ingo 所提到的,阅读 vim 的内置帮助非常清楚,这对您有好处。 (2认同)