-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 31-Aug-06, at 12:09 PM, Brian McKee wrote:
Hi All
I'd like to be able to edit an encrypted plain text file using vim.
It's blowfish encoded with openssl.
{snippage}
Well, the response to the previous email was underwhelming :-)
I've done some limited testing, and came up with an addition to
my .vimrc
that seems to work really slick. I've attached that to the bottom
for future generations
to criticize.
The nifty unintended side effect was I can encrypt any file I'm
working on just
by saving it with a .bf extension.
If anyone has any comments or spots an ooppsie, by all means let me
know.
Thanks
Brian
" Transparent editing of bf encrypted files.
" Originally By Wouter Hanegraaff <[EMAIL PROTECTED]>
" with very minor alterations for bf by bmckee <[EMAIL PROTECTED]>
" note the file must be encrypted with the -a and -salt options
" no guarantees using this won't post your secrets on myspace.com :-)
augroup encrypted
au!
" First make sure nothing is written to ~/.viminfo while editing
" an encrypted file.
autocmd BufReadPre,FileReadPre *.bf set viminfo=
" We don't want a swap file, as it writes unencrypted data to disk
autocmd BufReadPre,FileReadPre *.bf set nobackup
" We don't want a backup
autocmd BufReadPre,FileReadPre *.bf set nowritebackup
" We don't want an inprogress backup either
autocmd BufReadPre,FileReadPre *.bf set noswapfile
" Switch to binary mode to read the encrypted file
autocmd BufReadPre,FileReadPre *.bf set bin
autocmd BufReadPre,FileReadPre *.bf let ch_save = &ch|set ch=2
autocmd BufReadPost,FileReadPost *.bf '[,']!openssl bf -d -
salt -a 2> /dev/null
" Switch to normal mode for editing
autocmd BufReadPost,FileReadPost *.bf set nobin
autocmd BufReadPost,FileReadPost *.bf let &ch = ch_save|unlet
ch_save
autocmd BufReadPost,FileReadPost *.bf execute ":doautocmd
BufReadPost " . expand("%:r")
" Convert all text to encrypted text before writing
autocmd BufWritePre,FileWritePre *.bf '[,']!openssl enc -bf
- -salt -a 2>/dev/null
" Undo the encryption so we are back in the normal text, directly
" after the file has been written.
autocmd BufWritePost,FileWritePost *.bf u
augroup END
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
iD8DBQFE/uMIGnOmb9xIQHQRApQnAKDEnaRpfXaoKTfyngqyBgPcucu1YgCbBoEd
SqI2qKqhueFPT5tklmDlXMM=
=jGn8
-----END PGP SIGNATURE-----