如何在"私人模式"启动vim

saf*_*f32 15 vim privacy

现代浏览器具有称为"私人模式"或"隐身模式"的功能.我正在尝试用vim做同样的事情,即以不留下任何活动痕迹的方式运行它.通过这种方式,我可以使用vim打开包含存储在加密卷中的敏感信息的文件,而不必担心会泄露任何信息.

这是我到目前为止所做的:

alias vim_private="vim -i NONE --cmd 'set noswapfile' --cmd 'set nobackup'"
Run Code Online (Sandbox Code Playgroud)

我在.bashrc中有这个.上述理由:

  • -i NONE 这样,没有文件名或寄存器内容通过.viminfo泄露
  • --cmd 'set noswapfile' 是为了防止创建交换文件
  • --cmd 'set nobackup' 没有备份文件

还有什么我想念的吗?还有其他方式让vim泄露信息吗?

Ing*_*kat 6

你的设置看起来不错。我不确定当您调用 Vim as 时是否会加载插件vi,但几个插件(例如提供 MRU 功能)也会存储信息(通常在~/.vim...文件中)。他们的负载可以通过避免--noplugin

另外,对于偏执者来说,$VIMINIT:set exrc、 和:set modeline可能会导致 Vimscript 代码被执行;这可以(重新)启用与隐私相关的选项。

  • 我在vim 8.1中测试过,当我使用`-u DEFAULTS -U DEFAULTS`(使用默认vim设置而没有用户文件)时,`$VIMINIT`没有效果。`noexrc` 和 `nobackup` 是默认值。因此,不需要`:set noexrc`和清除`$VIMINIT`。我认为只需在上面添加一个额外的 `--cmd 'set nomodeline'` 即可。我的版本是 `vim -i NONE -u DEFAULTS -U DEFAULTS -n -c 'set nomodeline'` (`-c` == `--cmd`; `-n` 表示没有交换文件; `-u DEFAULTS`也不会加载插件) (2认同)