Created
April 14, 2012 21:28
-
-
Save ptrv/2387956 to your computer and use it in GitHub Desktop.
vim gpg interface
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Transparent editing of gpg encrypted files. | |
" By Wouter Hanegraaff <wouter@blub.net> | |
augroup encrypted | |
au! | |
" First make sure nothing is written to ~/.viminfo while editing | |
" an encrypted file. | |
autocmd BufReadPre,FileReadPre *.gpg set viminfo= | |
" We don't want a swap file, as it writes unencrypted data to disk | |
autocmd BufReadPre,FileReadPre *.gpg set noswapfile | |
" Switch to binary mode to read the encrypted file | |
autocmd BufReadPre,FileReadPre *.gpg set bin | |
autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 | |
autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null | |
" Switch to normal mode for editing | |
autocmd BufReadPost,FileReadPost *.gpg set nobin | |
autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save | |
autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r") | |
" Convert all text to encrypted text before writing | |
autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null | |
" Undo the encryption so we are back in the normal text, directly | |
" after the file has been written. | |
autocmd BufWritePost,FileWritePost *.gpg u | |
augroup END | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment