简单的问题。
带rar
rar X file.tar -p"mypass"
与 7z
7z X file.7z -p"mypass"
Vim 可以使用以下方式加密文件:X
每次你想打开文件时
必须使用密码。
问题是:是否可以像 rar 和 7z 这样将 pass 作为参数传递?
像这样的事情
vim filex.enc.txt -P"mypass"
答案1
--cmd
在命令行上读取文件之前,您可以给 Vim 一个要运行的命令(就好像它是您文件的一部分一样)~/.vimrc
。通过以这种方式将选项设置key
为加密密钥的值,您可以在命令行上给出加密密钥:
$ vim --cmd "set key=mysecretkey" myencryptedfile
答案2
这可能是一个坏主意。密码将在“ps”和您的 bash 历史记录中可见。
最好在 vim 中执行此操作,某些部分将未加密(viminfo 和常规内存)。我建议您应该禁用文件撤消是错误的(https://stackoverflow.com/questions/5700389/using-vims-persistent-undo)和交换文件(vim -n)。看http://vim.wikia.com/wiki/加密。
但最重要的是,如上所述,不要将密码放在显眼的地方,可以通过简单的“ps”查看。
答案3
有 gnupg.vim 插件(https://www.vim.org/scripts/script.php?script_id=3645和https://github.com/jamessan/vim-gnupg)。它使用 gpg 透明地加密和解密文件。是在不登录的情况下询问密码,它与 .gpg 文件关联,即:vim secret.txt.gpg
从 CLI 打开文件,从 vim 询问密码,并允许您读取和编辑它。在 vim 中:e secret.txt.gpg
,也:w
可以询问密码并分别打开写入文件。