Скажем, у меня есть три файла в той же папке, a.txt
, b.txt
и c.txt
, все они зашифрованные (с Vim) с тем же паролем ("asdf", например). Существует ли способ открыть три из них вводящий пароль только однажды?
Спасибо.
Пароль шифрования, используемый Vim для шифрования и дешифрования файлов, хранится в key
переменная, посмотрите :help encryption
. Эта переменная обычно локальна для буфера Vim, таким образом, Vim использует уникальный пароль для каждого зашифрованного файла, который открыт или сохранен. Vim запросит новый пароль, когда другой зашифрованный файл будет открыт впервые.
Для создания пароля глобальным войти
:set key=asdf
в Vim, где asdf
пароль. После явного предоставления key
переменная значение как это, Vim будет использовать тот же пароль для последующих зашифрованных файлов, которые открыты с :e
или :n
в том же экземпляре Vim.
key
переменная может быть установлена на командной строке Vim, используемой для открытия файлов с
vim --cmd "set key=asdf" a.txt b.txt c.txt
Остерегайтесь: это записывает пароль в ясном Вашему файлу истории оболочки (например, ~/.bash_history
) и всем другим пользователям в системе путем простого рассмотрения списка выполнения процессов с ps
.
Другие решения для шифрования файлов прозрачно с Vim возможны, Vim, который Wiki предлагает этой странице подсказок относительно шифрования, включая выполнение PGP или GnuPG автоматически, открываясь и сохранив файлы на основе расширения файла.
Введите в ключе прежде, чем открыть первый файл с этим cmd:
vim -c ":let &key=inputsecret('key=')|:bdel dummy" dummy a.txt b.txt c.txt
Редактирование 1. Отвечать на вопрос в комментарии ниже. Если Вы хотите файлы, открытые вместе на вкладках, как опции-p a.txt b.txt c.txt
vim -c ":let &key=inputsecret('key=')|:tab all|:bdel dummy" dummy a.txt b.txt c.txt
More энергия: set viminfo= noswapfile bin cm=blowfish
Потребности фиктивный файл dummy
, потому что окно ввода значения подходит только после первого файла, загружается, даже с - cmd. В этом случае необходимо ввести ключ однажды.
не используют *--cmd="set key=asfd"*
; потому что процесс args виден с командой PS пользователям других, может быть зарегистрирован системный журнал и также сохранил в Вашем bash_history.