diff --git a/vim/vimcrypted b/vim/vimcrypted index 40e296f..9007a2e 100755 --- a/vim/vimcrypted +++ b/vim/vimcrypted @@ -7,12 +7,20 @@ function helpexit() { echo "Edit a GPG encrypted file with vim. -Unsecure implementation, since the file is saved - IN PLAIN TEXT when editing, -this script only takes care of storing the file -encrypted +#################################################### +# UNSECURE IMPLEMENTATION, since the file is saved # +# IN PLAIN TEXT when editing, # +# this script only takes care of storing the file # +# encrypted. # +#################################################### + +Modified file is always backed up as .old + +Usage: $( basename $0 ) textfile.gpg + +Vim additions: H to unhide all lines + h to hide lines except cursor -Changed file is always backed up as .old " exit } @@ -20,40 +28,39 @@ Changed file is always backed up as .old [[ "$1" = "-h" ]] && helpexit RM=rm which shred &> /dev/null && RM="shred -u" -set -x -if [[ ! "$1" == *\.gpg ]] -then - echo "source is not .gpg" - exit 1 + +if [[ ! "$1" == *\.gpg ]]; then + echo "source is not .gpg" + exit 1 fi unc="${1%.gpg}" -if [ -e "$unc" ] -then echo "$unc already exists. exiting" - exit 1 +if [ -e "$unc" ]; then + echo "$unc already exists. exiting" + exit 1 fi -if [ ! -e "$1" ] -then echo "File $1 does not exist. Creating empty file" - echo " " > "$unc" +if [ ! -e "$1" ]; then + echo "File $1 does not exist. Creating empty file" + echo " " > "$unc" else gpg --decrypt "$1" > "$unc" fi LIB=$( dirname $( readlink -f $0 ) )/crypted.vim edit=`date +%s -r $unc` -if [ -s "$unc" ] -then vim -i NONE -S "$LIB" -n "$unc" -else echo Error in decrypting - $RM "$unc" - exit 1 +if [ -s "$unc" ]; then + vim -i NONE -S "$LIB" -n -c "call Hide()" "$unc" +else + echo Error in decrypting + $RM "$unc" + exit 1 fi afteredit=`date +%s -r "$unc"` -if (( $edit != $afteredit )) -then - cat "$unc" | gpg -ca > "$1".tmp - if [ -s "$1".tmp ] - then [[ -e "$1" ]] && mv -f "$1" "$1".old - mv -f "$1".tmp "$1" - fi +if (( $edit != $afteredit )); then + cat "$unc" | gpg -ca > "$1".tmp + if [ -s "$1".tmp ]; then + [[ -e "$1" ]] && mv -f "$1" "$1".old + mv -f "$1".tmp "$1" + fi fi $RM "$unc"