【问题标题】:How to blur text in vim [closed]如何在vim中模糊文本[关闭]
【发布时间】:2014-05-08 12:52:24
【问题描述】:

我已将纯文本密码存储在配置文件中。有什么办法可以用 XXXXX 模糊或替换密码。

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

密码 = XXXXX

【问题讨论】:

  • 您可以使用 vim 对整个文件进行加密/解密。
  • 这是一个配置文件。该程序需要访问您的加密密钥才能使用该文件。

标签: vim jpasswordfield


【解决方案1】:

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

不要在文件中输入明文密码

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

如果出于某种原因,这您想要的用例(例如,用于投影演示文稿,而您出于某些不虔诚的原因使用密码观众可以用来利用直播的东西(你到底为什么要这样做),你可以写一个autocmd,它会掩盖等号后面的所有内容。

autocmd BufRead * silent! %s/=[^=]*$/=XXXX/

但是,请注意,这仅用于演示:文本实际上已被重写,您不想保存此文件。

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

【讨论】:

  • 好吧,如果你使用 Vim 的内置加密,你可能仍然希望避免别人从你的肩膀上看到解密后的文本。
  • +1 “不要将明文密码放入文件中”需要说明。
  • @chepner 如果您不能将密码放在那里,那么很难将密码放入文件中。可以将密码放入加密文件中,IMO
  • 这是一个配置文件,这意味着如果它被加密,除了你之外的其他人(即正在配置的程序)需要密钥来解密它。
【解决方案2】:

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

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

:setlocal syntax=password

集成到其他语法中更加困难。

详情请见:help :syn-conceal。此帮助页面还包含有关编写语法的所有信息。你特别需要:help :syn-match

隐藏的好处是您仍然可以在不显示原始密码文本的情况下将其拉出(例如,复制到剪贴板)。 'conceallevel''concealcursor' 选项控制它。

更简单的选择

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

【讨论】:

  • 我只是想不出一个合理的用例来满足这个要求。 avoid other people reading your passwords from over your shoulder 那可能是一个。和隐藏可能是关键+1
猜你喜欢
  • 2020-03-22
  • 1970-01-01
  • 2022-10-14
  • 2014-07-28
  • 1970-01-01
  • 2013-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多