vim中的寄存器是存储文本片段,甚至对存储在其中的文本运行命令的一个很好的功能。但是,我是一个整洁的人,并倾向于干净的事情,当我做完了。
我知道如果我想清除注册a,我可以使用qaq。
我也可以执行以下命令:
:let @a = ''
然而,这些解决方案似乎只是解决问题的办法。当我执行:寄存器时,列表仍然显示寄存器a(具有空值),而未被使用的寄存器不显示。
有没有办法清除寄存器的副作用从该列表中删除寄存器?
如果是这样,还有一种方法可以同时清除所有寄存器,即复位寄存器列表?
AFAIK您不能使用内置命令/功能使寄存器从列表中消失。这似乎是可行的只有从你的〜/ .viminfo这听起来有点极端。
this thread on the vim mailing list有一个命令清除每个寄存器,但它不会从中删除它们:reg:
let regs='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-"' | let i=0 | while (i<strlen(regs)) | exec 'let @'.regs[i].'=""' | let i=i+1 | endwhile | unlet regs