Created
December 20, 2016 21:21
-
-
Save jameswhite/6997d73e3d72a9a5dea87a48e9dbb2d9 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 | |
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 various options which write unencrypted data to disk | |
autocmd BufReadPre,FileReadPre *.gpg set noswapfile noundofile nobackup | |
" 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 | |
" (If you use tcsh, you may need to alter this line.) | |
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 | |
" (If you use tcsh, you may need to alter this line.) | |
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