Vim 数字命令运动和命令数字运动之间的区别是什么

Vim 数字命令运动和命令数字运动之间的区别是什么,vim,Vim,我正在和vim导师学习vim。我想知道命令运动编号和命令运动编号之间是否有区别。 例如: 2dw在我看来,它的工作原理与d2w完全相同,类似地,2dd的工作原理与d2d的工作原理相同,数字命令运动可以在所有命令上使用,但数字运动只能在少数命令中使用 最重要的是重复操作(.)重做上一个操作 例如: 2dd->=2dd->dd d2d->=d2d->d2d 通常,我建议使用第一个命令。因为它更容易重复。这两个数字都被称为[count],在您的示例中,实际上,它们的作用是相同的。但这两个数字来自不同的

我正在和vim导师学习vim。我想知道命令运动编号和命令运动编号之间是否有区别。 例如:
2dw
在我看来,它的工作原理与
d2w
完全相同,类似地,
2dd
的工作原理与
d2d
的工作原理相同,数字命令运动可以在所有命令上使用,但数字运动只能在少数命令中使用

最重要的是重复操作(.)重做上一个操作

例如:

2dd
->
=
2dd
->
dd

d2d
->=
d2d
->
d2d


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

这两个数字都被称为
[count]
,在您的示例中,实际上,它们的作用是相同的。但这两个数字来自不同的概念

[count]command
这将执行命令
[count]
次,
2dd
执行
dd
两次
2dw
执行
dw
两次

第二个是来自
{motion}
2w
2j

如果你想看到一些不同之处,我可以想到以下两个:

  • 有些命令不支持
    {motion}
    。例如,按
    2X
    键的
    X
    ,将删除光标前的2个字符。但是,您不能执行
    X{motion}
    。其他不支持
    {motion}
    p(粘贴)
    s
    等的命令。您可以执行
    2p
    2s
    ,但不能执行
    p2w
    s3w

2dw
d2w
中可以得到相同的结果,但这两个
2
的含义不同,理解数字的作用是可以的。您可以组合计数和运动,如
2d3w

在你第一次强调的差异中,我认为你的信息是错误的。我仔细检查以确保,但看起来repeat命令将同时适用于2dw和d2w,并保持它们删除两个单词的事实。我不确定这是否是最近的更改,但到目前为止,它们都与repeat一起工作。@HoldenLewis是的,你是对的,我刚刚用我的vim(最新版本)进行了测试,它符合你所说的。我不记得我什么时候发布了答案,它被错误地测试了,或者
(重复)在旧版本中的表现真的不同。我只是将第一个项目标记为“已删除”Kent,这是否意味着最好在一开始就进行计数,如
2dw
3de
,因为它适用于任何命令,而像
d2w
这样的东西只适用于其中的一些命令?@jsv我不会说它是好是坏。这取决于你习惯了怎样做。但无论如何,理解命令的含义是很重要的。