如何在vim中模糊文本

Jag*_*N M 1 vim jpasswordfield

我在配置文件中存储了纯文本密码.是否有任何方式模糊或替换XXXXX密码.

当我在vim中打开配置文件时我想看到

密码= XXXXX

hep*_*ram 6

在配置文件中隐藏密码的最简单,最安全的方法是

不要在文件中放入PLAINTEXT密码

任何以你所描述的方式使用vim的解决方案都只会掩盖你的密码.其他人可以在没有vim的情况下打开/读取文件,看到密码.

如果由于某种原因,这是你想要的用例(例如,用于投影演示文稿,并且你出于某种不正当的理由使用密码,观众可以用它来利用现实的东西(你为什么要这样做),你可以写一个autocmd会在等号后隐藏一切的东西.

autocmd BufRead * silent! %s/=[^=]*$/=XXXX/
Run Code Online (Sandbox Code Playgroud)

但请注意,这仅适用于演示文稿:文本实际上是重写的,您不希望保存此文件.

您的另一个选择是使用7.3的语法突出显示将文本标记为隐藏.


Ing*_*kat 5

是的,通过Vim 7.3中引入的隐藏功能,您可以用一个替换字符替换匹配项。因此,您可以将整个密码压缩为单个*,或将每个字符替换为一个*(通过分别匹配每个密码字符)。

隐藏是通过语法高亮实现的。只要您的密码文件没有任何现有语法,就可以编写一个简单的syntax/password.vim语法脚本并执行

:setlocal syntax=password
Run Code Online (Sandbox Code Playgroud)

集成到其他语法中比较困难。

有关:help :syn-conceal详细信息,请参见。该帮助页面还包含有关编写语法的所有信息。您特别需要:help :syn-match。

隐藏的好处在于,您仍然可以在不泄露原始密码文本的情况下(例如,将其粘贴到剪贴板)。在'conceallevel'和'concealcursor'选项控制。

更简单的选择

如果您只是想避免其他人从您的肩膀上读取密码,则可以为所有单独的登录条目(/段落)定义折页,从所有折页关闭开始,仅短暂打开单个折页进行访问。