区别:d [count]和d [count]

问题描述:

作为新手vim用户,我用d[count]<Enter>来删除行。
它使我感到奇怪,总有count + 1行被删除。
如果我想删除2行,我输入d1,三线花d2,...区别:d [count]和d [count]

我终于花时间试图了解为什么,看来我应该一直在使用:d<count>

但这不过乞讨的问题,为什么是:d1<Enter> <>d1<Enter>

d<count>在正常模式下不会做任何事情,因为计数后面没有运动。所以大概你已经击球d<count><Enter>,在这种情况下,与d相关联的动作是<count><Enter>,这会使<count>线向下移动。由于<Enter>是一个直线运动,因此d也将是linewise,从当前行到行<count>下行(包括两端)删除所有行。

实际上想要的命令是<count>dd

+0

+1您认为是正确的。谢谢。 – 2011-02-04 09:18:54

+1

很好的解释,我在正常模式下反复尝试`d1`,但没有成功...我不知道' dd`我正在使用`d j`或`d k`总是缺少一个计数Vim有趣的是,总是有多种方式来实现相同的目标。 – 2011-02-04 09:28:16

d{motion}删除{motion}移动的文本。当您键入3<ENTER>时,光标在当前下移动3行,因此d3<ENTER>删除该区域。

:d[count]只是删除[count]行。

区别在于{motion}count不一样。

为了解决这个问题,您可以使用visual模式并选择要删除的内容,然后只需按d即可。