Ух, давно не давал я воли параное. Опять хочется поговорить про шифрование. Теперь про то, как редактировать зашифрованный файл с помошью vim, да так, чтобы на диске он в открытом виде не появлялся. Встречаем! gpg.vim. Плагин, который нужно класть в папку vim/plugins. Gpg должень быть доступен через %path%,
augroup gpg_encrypted autocmd! " don't use swap file or ~/.viminfo while editing autocmd BufReadPre,FileReadPre *.gpg set viminfo= autocmd BufReadPre,FileReadPre *.gpg set noswapfile " filter the encrypted file through openssl after reading autocmd BufReadPre,FileReadPre *.gpg set bin autocmd BufReadPre,FileReadPre *.gpg set cmdheight=2 autocmd BufReadPost,FileReadPost *.gpg 0,$!gpg -q 2> NUL: " switch back to nobin mode for editing autocmd BufReadPost,FileReadPost *.gpg set nobin autocmd BufReadPost,FileReadPost *.gpg set cmdheight& autocmd BufReadPost,FileReadPost *.gpg set shell& autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost ".expand("%:r") " filter plain text through gpg before writing autocmd BufWritePre,FileWritePre *.gpg set bin autocmd BufWritePre,FileWritePre *.gpg set cmdheight=2 autocmd BufWritePre,FileWritePre *.gpg 0,$!gpg -e -q -r your_email_here " undo the encrypt step so we can continue editing after writing autocmd BufWritePost,FileWritePost *.gpg silent u autocmd BufWritePost,FileWritePost *.gpg set nobin autocmd BufWritePost,FileWritePost *.gpg set cmdheight& autocmd BufWritePost,FileWritePost *.gpg set shell& augroup END
Теперь, при открытии файлов *.gpg gpg будет спрашивать пароль ключа и только потом, показывать содержимое файла.
В _vimrc
у меня включено set foldmethod=marker
, значит все что внутри литералов {{{ … }}} будет фолдиться, тоесть скрываться с глаз долой.
Болванку плагина где то потырил! Где не помню.