vim - 如何有效清除vim寄存器?

标签 vim vim-registers

vim 中的寄存器是一个很棒的功能,可以存储文本片段,甚至可以对其中存储的文本运行命令。不过,我是一个爱整洁的人,做完事情后就会把东西收拾干净。

我知道如果我想清除寄存器a,我可以使用qaq

我还可以执行以下命令:

:let @a = ''

但是,这些解决方案似乎只是解决问题的方法。当我执行:registers时,列表仍然显示寄存器a(具有空值),而从未使用过的寄存器则不会显示。

是否有一种方法可以清除寄存器,并产生从该列表中删除寄存器的副作用?

如果是这样,是否还有一种方法可以立即清除所有寄存器,即重置该寄存器列表?

最佳答案

由于邮件列表上有令人尊敬的答案(由 @romainl 链接),我们有 setreg('a', []) 来清除寄存器。

因此,代码可以变为:

let regs=split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-"', '\zs')
for r in regs
  call setreg(r, [])
endfor

关于vim - 如何有效清除vim寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430200/

相关文章:

Vim 分割栏样式

vim - 如何有效使用 Vim : wildmenu

regex - vim中的一个十进制数乘以一个固定的数

vim - 如何在命令行模式下映射键但不在搜索模式下映射键

vim - 从一个寄存器复制到另一个寄存器

c++ - Vim 找不到 C++ libavformat/libavutil 库(没有那个文件或目录)

vim - 在 Vim 中,有没有一种方法可以在不将文本放入寄存器的情况下进行删除?

Vim 寄存器在 Ex 模式下的使用

vim - vim 中的缓冲区和寄存器有什么区别?

vim - 如何使用wayland从Vim复制到系统剪贴板而不使用编译的vim `+clipboard`功能标志