# Author: Ciaran McCreesh # # completion for vim _vim() { local cur prev cmd args COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} cmd=${COMP_WORDS[0]} if [[ "${prev}" == "--servername" ]] ; then local servers servers=$(gvim --serverlist ) COMPREPLY=( $( compgen -W "${servers}" -- $cur ) ) elif [[ "${prev}" == -[uUi] ]] ; then COMPREPLY=( $( compgen -W "NONE" ) \ $( compgen -f -X "!*vim*" -- "$cur" ) ) elif [[ "${cur}" == -* ]] ; then args='-t -q -c -S --cmd -A -b -C -d -D -e -E -f --nofork \ -F -g -h -H -i -L -l -m -M -N -n -nb -o -R -r -s \ -T -u -U -V -v -w -W -x -X -y -Y -Z --echo-wid \ --help --literal --noplugin --version' COMPREPLY=( $( compgen -W "${args}" -- $cur ) ) else _filedir fi } complete -o filenames -F _vim vim ex vi view rvim rview vimdiff # vim: set ft=sh sw=4 et sts=4 :