在vim中,我经常发现自己删除(或复制)大块的文本。人们可以数一数文本的行数,并说(例如)50dd来删除50行。
但是如何在不知道要删除多少行的情况下删除这么大的文本块呢?
在vim中,我经常发现自己删除(或复制)大块的文本。人们可以数一数文本的行数,并说(例如)50dd来删除50行。
但是如何在不知道要删除多少行的情况下删除这么大的文本块呢?
当前回答
您也可以输入一个非常大的数字,然后按dd,如果您希望删除光标下面的所有行。
其他回答
回到起跑线,输入ma(标记“a”)。然后转到最后一行,输入d'a(删除以标记“a”)。
这将删除从当前到标记的所有行(包括)。它还兼容vi和vim,如果您的环境不支持后者的话。
除了这里已经提到的其他运动,还有/{pattern}<CR>运动,所以如果你知道你想删除包含foo的行,你可以做dV/foo<CR>。V在这里强制按行移动,因为默认情况下/是按字符移动。
这取决于那个大的方块是什么。也许你只是想删掉一段话,在这种情况下删减一下就可以了。
您也可以输入一个非常大的数字,然后按dd,如果您希望删除光标下面的所有行。
如果你通过set number打开行号,你可以简单地dNNG,它将从当前位置删除到行NN。因此,您可以导航到您希望删除的行开头,并简单地d50G,假设这是您希望删除的最后一行。