Как я могу предотвратить сохранение неправильно расшифрованных файлов?

Когда я ввожу неправильный пароль для зашифрованного файла, Vim отображает тарабарщину. Если я случайно сохраню этот файл (:wq — это мышечная память), я потеряю исходное содержимое. Как предотвратить сохранение неправильно расшифрованных файлов? Можно ли установить опцию «только для чтения», когда файл расшифровывается неправильно?

Дополнительный вопрос - Можно ли восстановить исходное содержимое файла после того, как мы сохранили неправильно расшифрованный файл?

PS - я использовал :se cm=blowfish2


person work.bin    schedule 03.02.2018    source источник
comment
Проклятие пользователей компьютеров, я что-то напортачил, перезаписал, как мне оправиться от причиненной самому себе боли!   -  person Mark Schultheiss    schedule 03.02.2018


Ответы (1)


Как предотвратить сохранение неправильно расшифрованных файлов?

Добавление следующей карты в .vimrc предотвращает ошибочную перезапись зашифрованного файла, спрашивая пользователя, действительно ли он хочет выйти:

au BufWinEnter * if &key!="" | cnoremap wq if input("Sure of quitting encrypted file? (yes or no)") == "yes"\|wq\|endif|endif

Важной частью здесь является сравнение &key!="", которое оценивается как TRUE, только если файл зашифрован.

Можно ли установить опцию «только для чтения», когда файл расшифровывается неправильно?

В неправильно расшифрованном файле часто отображаются необычные символы. Это может помочь определить, неправильно ли расшифрован файл, например if search("[¶Éâ½]")!=0 | set readonly | endif. Это сравнение оценивается как ИСТИНА, если какой-либо из символов внутри "[]" появляется в файле.

Можно ли восстановить исходное содержимое файла после того, как мы сохранили неправильно расшифрованный файл?

От :help encrypt

ВНИМАНИЕ: Если вы сделаете опечатку при вводе ключа, а затем запишете файл и выйдете, текст будет потерян!

person MAGA    schedule 04.02.2018