Решение исходной проблемы (насколько я вижу):
secret.txt
содержит зашифрованный текст.
./encode.sh
- скрипт симметричного кодировщика.
Следующая команда прочитает текст из secret.txt, расшифрует, сделает его
можно редактировать в Vim, кодировать и записывать обратно в secret.txt:
$ cp secret.txt | \
./encode.sh | \
vim - -n -u NONE \
-c ':autocmd VimLeave * :exec "%!./encode.sh" | write! tmp'; \
mv tmp secret.txt
Примечания:
:autocmd VimLeave * <command>
: выполнить <command>
перед тем, как покинуть Vim для любого файла
:exec "%!./encode.sh" | write! secret.txt
: пробег ./encode.sh
в целом
содержимое буфера в качестве фильтра, затем записать буфер в secret.txt
- «Как фильтр» означает, что содержимое буфера будет передано в
./encode.sh
. Содержимое буфера будет заменено стандартным
вывод ./encode.sh
после его завершения.
Но я должен сказать, что это уродливое решение. Я бы порекомендовал так же, как и rampion : взгляните на упомянутые автокоманды (:help autocommand
) и попробуйте выполнить весь процесс редактирования в Vim.
Наконец, примечание: у Vim есть своя собственная команда шифрования, которая выполняет в точности то, что вы описали на веб-странице проекта : «Он просто дешифрует файл в файл, доступный только для вас, вы редактируете его в ваш любимый редактор, а затем он расшифровывает
это и сохраняет файл туда, откуда он пришел. "
Справка Vim (:help :X
) говорит об алгоритме:
- Используемый алгоритм является хрупким. Ключ из 4 символов примерно за час,
символьная клавиша за один день (на ПК Pentium 133). Это требует, чтобы вы знали
некоторый текст, который должен появиться в файле. Эксперт может сломать его для любого ключа.
Когда текст расшифрован, это также означает, что ключ может быть
раскрыты, и другие файлы, зашифрованные с тем же ключом, могут быть расшифрованы.
- Pkzip использует то же шифрование, и правительство США не возражает против его экспорта.
Публичный файл Pkzip APPNOTE.TXT подробно описывает этот алгоритм.