我想做的一件事是拉"some text"
,然后用它来更改"some other text"
。
因此,我将光标移至某些文本,然后yi"
来抓取some text
。现在如何替换some other text
?如果我执行di"
,那么我的复制粘贴寄存器将被some other text
覆盖。我知道我可以使用命名寄存器,但是我的问题是我的肌肉记忆已经完成yi"
。有什么办法可以覆盖y
或d
的默认行为?
答案 0 :(得分:5)
Vim中的“未命名”寄存器不是真实的寄存器,而是指向最后使用的寄存器的指针。它甚至在Vim的源代码中作为指针(或更确切地说,作为对寄存器数组的索引)实现。
因此,选中的文本不会真正被“删除”命令覆盖,因为默认情况下,“选中”使用寄存器“零”,而“删除”使用“一”或“减”。
因此,您始终可以通过按“ 0 p 来放置最后被拉紧的文本。
答案 1 :(得分:1)
您可以重新映射d
键以将其删除到黑洞寄存器"_
中:
nnoremap d "_d
您需要使用noremap
版本之一,以免陷入无限循环。