为什么Vim不将`daw`-ed文本存储在任何寄存器中

时间:2018-11-06 10:04:41

标签: vim

在下一个用例中,我遇到了一个问题。

function name1(a::Matrix, b::Vector)
function name2(a::Matrix, b::Vector)

end

我将光标放在name1上,然后按 daw 。然后将光标移至name2并点击 caw esc 并检查带有:reg的寄存器,其中没有存储name1

为什么会发生这种情况,我该如何完成这种情况?

1 个答案:

答案 0 :(得分:2)

您已删除/更改的文字少于一行,因此它将被移至小删除寄存器:help quote-)中,并且没有其他地方。带编号的寄存器(您可能期望更改的地方)只会自动填充超过一行的文本。来自:help quote_number

  

编号寄存器1包含由最新删除或更改命令删除的文本,除非命令指定了另一个寄存器或文本少于一行(然后使用小删除寄存器)。带有以下移动命令的delete运算符是一个例外:%,(,),`,/,?,n,N,{和}。

因此,如果要保留较小的删除,则需要为所有(但最后一次)更改或删除明确指定一个寄存器。例如:"acaw ["1] daw