# open vim with a scratch window that can be discarded on exit. vimscratch() { local args # if running in a pipe, use stdin (-) as arg. # -t checks if the given FD is a terminal if [ ! -t 0 ] ; then stdin_arg="-" fi set +x if [[ -n "$1" ]]; then filetype=$1 shift vim -c "set buftype=nofile" -c "set filetype=$filetype" $@ $stdin_arg else vim -c "set buftype=nofile" $filetype_arg $@ $stdin_arg fi }