我们如何检索删除的最后一个单词

时间:2010-01-14 19:18:24

标签: vim

是否存在注册,选项...以删除最后一个单词(dw)?

假设我有这一行:

word_1, word_2, word_3

我将光标放在word_2和dw的w上,然后我得到:

word_1, , word_3

所以我按xx删除,后跟空格。

我无法使用pP粘贴word_2,因为它包含空格。

我知道我可以使用寄存器将word_2复制到其中,然后使用"粘贴word_2。

由于

=============================================

修改

谷歌搜索

delete register vim

我发现了这个有趣的相关问题: In vim is there a way to delete without putting text in the register?

2 个答案:

答案 0 :(得分:4)

对于一行内的小删除,例如删除单词或删除x的单个字符,寄存器中不会存储多级历史记录。

对于较大的删除(一行或多行,或某些特殊的动作表示赞),最后九个删除的项目会自动存储在寄存器1到9中。因此,如果您执行三次删除,则可以粘贴第一个文本(第三个)历史记录中的项目"3p

有关这些寄存器的官方文档,另请参阅:help quote_number

答案 1 :(得分:2)

只有一个寄存器可以将数据删除一行""(还有"-但是它在中没什么用处,因为它是本例中“”的副本 [之后添加的斜体文字]

这绝对不是通用解决方案,但我已将x重新映射为“删除无处”:

:map x "_d
:map xx "_dd

这样d删除删除寄存器,x执行相同但不丢失删除寄存器,这样我就可以保留有价值的删除信息。

因此,在您的情况下,我会输入:dw 2x<Right>(或xf<Space>)然后p