清除vim寄存器,但仍能粘贴

清除vim寄存器,但仍能粘贴,vim,vim-registers,Vim,Vim Registers,我想在一个给定的寄存器中拔掉所有匹配的缓存行。我选择“A” 是粘贴A的内容的命令,我得到了匹配的行以及旧的行,尝试使用 :let @A='' 但仍然能够使用“Ap”粘贴。我做错了什么 VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 16 2013 20:39:23) MS-Windows 64-bit GUI version with OLE support Included patches: 1-52 a是登记册的真实名称 A只是附加到A的

我想在一个给定的寄存器中拔掉所有匹配的缓存行。我选择“A”

是粘贴A的内容的命令,我得到了匹配的行以及旧的行,尝试使用

:let @A=''
但仍然能够使用“Ap”粘贴。我做错了什么

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 16 2013 20:39:23)
MS-Windows 64-bit GUI version with OLE support
Included patches: 1-52
a是登记册的真实名称

A只是附加到A的一种方式

:let @A=''
不附加任何内容以注册a,即不起作用(此解释稍后添加)

你应该这样做

 let @a=''

通常,当我需要清除注册表时,我会执行
qaq
,我觉得它更容易键入。

是的,这样做了。“真实姓名”的说法也有道理。那么,为什么ViM没有发出错误/警告?它是否将A视为另一个变量?不知道,但遗憾的是,没有办法附加到*粘贴寄存器。你必须这样做:让@*=@a
:let @a=''
:let @A=''
:let @A='fred'      appends fred to a
:let @A=@b          appends register b to register a
 let @a=''