Re: Inline text editor?
Christopher Swingley wrote:
> How about this in your ~/.vimrc:
>
> " Attempt to do the right thing for *,.gpg files
> augroup GPG
> au!
> au BufReadPre *.gpg :set noswapfile
> au BufReadPost *.gpg :%!gpg --decrypt -q 2> /dev/null
> au BufWritePre *.gpg :%!gpg -e -q --yes
> au BufWritePost *.gpg u
> augroup END
>
> This particular group of settings will only happen when the file being
> edited has a *.gpg extension.
Here is a perhaps slightly better one:
" 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
--
see shy jo
Reply to: