Интергрируем GPG и VIM под win32

Ух, давно не давал я воли параное. Опять хочется поговорить про шифрование. Теперь про то, как редактировать зашифрованный файл с помошью 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, значит все что внутри литералов {{{ … }}} будет фолдиться, тоесть скрываться с глаз долой.

Болванку плагина где то потырил! Где не помню.

Запись опубликована в рубрике ЧАВО. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>