如何删除 vim 中的密码而不将其存储在寄存器中?

如何删除 vim 中的密码而不将其存储在寄存器中?

我在一个文本文件中设置了密码。我正在 vim 中编辑该文件,我想删除该密码。如果我直接删除它,比如使用 'dw',它会存储在几个寄存器中。我想避免在 vim 中保留任何密码痕迹。

我最接近的方法是使用黑洞寄存器:“”_dw“ - 这不会将密码存储在通常的寄存器中,但它仍然保留在“。”寄存器中。

答案1

黑洞寄存器是可行的方法。“最后插入的文本寄存器”".仅包含最后输入的文本的密码。请记住,尽管密码已被删除,但它仍然存在于撤消历史记录中。我建议如下:

:let old_undolevels = &undolevels
:set undolevels=-1                   
:exe "normal a \<BS>\<Esc>"
:let &undolevels = old_undolevels
:unlet old_undolevels

这将清除撤消历史记录和".寄存器。

答案2

您可以删除黑洞寄存器中的其他内容,这将消除以前的内容,或者您​​可以直接为其分配某些内容,如下所示:

:let @_=""

相关内容