【问题标题】:How can we retrieve the last word deleted我们怎样才能找回最后一个被删除的单词
【发布时间】:2011-01-05 05:30:04
【问题描述】:

是否存在用于删除最后一个单词的寄存器、选项... (dw)?

假设我有这一行:

word_1, word_2, word_3

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

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?

【问题讨论】:

    标签: vim


    【解决方案1】:

    只有一个寄存器保存删除的数据在一行内""(当然还有"-,但在这里用处不大因为它是"" 在这种情况下)。 [后面添加的斜体文字]

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

    :map x "_d
    :map xx "_dd
    

    这样d 删除删除寄存器,x 这样做但不会乱扔删除寄存器,这样我就可以保持有价值的删除信息完好无损。

    所以在你的情况下我会输入:dw2x<Right>(或xf<Space>)然后p

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 非常感谢。我正在寻找每个可用寄存器的描述。
      猜你喜欢
      • 1970-01-01
      • 2014-01-02
      • 2014-04-26
      • 1970-01-01
      • 2011-07-18
      • 2012-01-16
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多