2

如果我理解正确,这两个命令都会剪掉 10 行并允许您将它们粘贴到任何地方。

它们是否都与 (n-1)dd 和 dn+enter 相同,其中 n 是要剪切的行数?

4

1 回答 1

7

下面复制了两个相关的帮助部分。

                                                        d
["x]d{motion}           Delete text that {motion} moves over [into register
                        x].  See below for exceptions.

                                                        dd
["x]dd                  Delete [count] lines [into register x] linewise.

10dd是从您当前位置删除 10 行的第二个。

d9什么也没做。d9j(或d9<CR>)从光标删除到光标结束的位置(即9j)在当前行下方九行。但是jor<CR>使它成为线性的,所以同样的东西被删除了。

这两个命令都删除了 10 行。所以ndd等价于d(n-1)j

d9j可能比打开时更容​​易键入10ddset relativenumber因为您所在的行与要删除的行之间的差异位于屏幕的左侧。

您可以使用d9k从光标行中删除 10 行无法使用dd. 或者您可以使用dfa删除最多和包括下一个。d{motion}比它更强大,dd因为它不仅限于逐行删除。

您使用哪一个取决于您,但某些组合更容易取决于您的光标所在的位置。

于 2013-08-22T20:50:51.497 回答