数字命令动作和命令编号动作之间的差异是什么

Sok*_*owy 2 vim

我正在和vimtutor学习vim.我想知道命令运动编号和编号命令运动之间是否存在差异.例如: 2dw在我看来工作完全一样d2w,同样2dd如此d2d.

Von*_*fry 6

数字命令动作可用于所有命令,但数字命令仅适用于少数命令。

最重要的是repeat-action(.)重做之前的动作。

例子:

2dd-> .= 2dd->dd

d2d-> .= d2d->d2d

通常,我建议使用第一个命令。因为它更容易被重复。


Ken*_*ent 6

这两个数字都被称为[count],在你的例子中,确实,他们做同样的工作.但这两个问题来自不同的概念.

[count]command
Run Code Online (Sandbox Code Playgroud)

这将做命令[count]次数,2dddd两次; 2dw做了dw两次.

第二个是从{motion},2w,2j等.

如果你想看到一些差异,这里有两个我能想到的:

  • 有些命令不支持{motion}.例如,X2X,将删除光标前的2个字符.但是,你做不到X{motion}.不支持其他命令{motion} p (paste),s等你能做到2p,2s但你不能做p2w s3w

你从2dw和得到相同的结果d2w,但两者2有不同的含义,理解数字的作用是好的.你可以把计数和动作结合起来,比如2d3w.

  • @jsv我不会说这是好是坏。这取决于您习惯于哪种方式。但无论如何,了解命令的含义很重要。 (2认同)