my dotz
0

Configure Feed

Select the types of activity you want to include in your feed.

add transparent editing of age files

+32
+32
.vimrc
··· 381 381 let @/ = l:pattern 382 382 let @" = l:saved_reg 383 383 endfunction 384 + 385 + " Transparent editing of age encrypted files. 386 + augroup encrypted 387 + au! 388 + " First make sure nothing is written to ~/.viminfo while editing 389 + " an encrypted file. 390 + autocmd BufReadPre,FileReadPre *.age set viminfo= 391 + " We don't want a swap file, as it writes unencrypted data to disk 392 + autocmd BufReadPre,FileReadPre *.age set noswapfile 393 + " Switch to binary mode to read the encrypted file 394 + autocmd BufReadPre,FileReadPre *.age set bin 395 + autocmd BufReadPre,FileReadPre *.age let ch_save = &ch|set ch=2 396 + autocmd BufReadPre,FileReadPre *.age let shsave=&sh 397 + autocmd BufReadPre,FileReadPre *.age let &sh='sh' 398 + autocmd BufReadPre,FileReadPre *.age let ch_save = &ch|set ch=2 399 + autocmd BufReadPost,FileReadPost *.age '[,']!age -i ~/.age/key.txt --decrypt 2> /dev/null 400 + autocmd BufReadPost,FileReadPost *.age let &sh=shsave 401 + " Switch to normal mode for editing 402 + autocmd BufReadPost,FileReadPost *.age set nobin 403 + autocmd BufReadPost,FileReadPost *.age let &ch = ch_save|unlet ch_save 404 + autocmd BufReadPost,FileReadPost *.age execute ":doautocmd BufReadPost " . expand("%:r") 405 + " Convert all text to encrypted text before writing 406 + autocmd BufWritePre,FileWritePre *.age set bin 407 + autocmd BufWritePre,FileWritePre *.age let shsave=&sh 408 + autocmd BufWritePre,FileWritePre *.age let &sh='sh' 409 + autocmd BufWritePre,FileWritePre *.age '[,']!age -r "$(sed -n 's/.*\(age\)/\1/p' ~/.age/key.txt)" 2>/dev/null 410 + autocmd BufWritePre,FileWritePre *.age let &sh=shsave 411 + " Undo the encryption so we are back in the normal text, directly 412 + " after the file has been written. 413 + autocmd BufWritePost,FileWritePost *.age silent u 414 + autocmd BufWritePost,FileWritePost *.age set nobin 415 + augroup END