是否存在注册,选项...以删除最后一个单词(dw
)?
假设我有这一行:
word_1, word_2, word_3
我将光标放在word_2和dw
的w上,然后我得到:
word_1, , word_3
所以我按xx
删除,
后跟空格。
我无法使用p
或P
粘贴word_2,因为它包含空格。
我知道我可以使用寄存器将word_2
复制到其中,然后使用"
粘贴word_2。
由于
=============================================
修改
谷歌搜索
delete register vim
我发现了这个有趣的相关问题: In vim is there a way to delete without putting text in the register?
答案 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