diff options
-rw-r--r-- | Completion/Unix/Command/_vim | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim new file mode 100644 index 000000000..23559a1eb --- /dev/null +++ b/Completion/Unix/Command/_vim @@ -0,0 +1,73 @@ +#compdef vim exim gvim gex gview rvim rview rgvim rgview evim eview vimdiff gvimdiff + +(( $+functions[_vim_files] )) || +_vim_files () { + case $PREFIX in + (+*) _files -P './' $* && return 0 ;; + (*) _files $* ;; + esac + case $PREFIX in + (+) _message -e 'start at a given line (default: end of file)' ;; + (+<1->) _message -e 'line number' ;; + esac +} + +local arguments + +arguments=( + '( -e -s -d -y)-v[vi mode]' + '(-v -d -y)-e[ex mode]' + '(-v -e -s -y)-d[diff mode]' + '(-v -e -s -d )-y[easy mode]' + '-R[readonly mode]' + '-Z[restricted mode]' + '-m[modifications (writing files) not allowed]' + '-M[modifications in text not allowed]' + '-b[binary mode]' + '-l[lisp mode]' + '-C[make vim compatible with vi]' + '-N[do not force compatibility with vi]' + '-V-[verbosity level]::verbosity:((0\:"do not display any messages" + 1\:"display when viminfo file is read or written" + 2\:"display sourced files" + 5\:"display every searched tag-file" + 8\:"display files that trigger autocommands" + 9\:"display every triggered autocommand (default)" + 12\:"display every executed function" + 13\:"report every thrown, caught, finished, or discarded exception" + 14\:"display anything pending in a \:finally clause" + 15\:"display every executed ex-command"))' + '-D[debugging mode]' + '-n[no swap file (memory only)]' + {-r,-L}'[list swap files and exit or recover from a swap file]::swap file:_vim_files -g \*.sw\?' + '( -H -F)-A[start in Arabic mode]' + '(-A -F)-H[start in Hebrew mode]' + '(-A -H )-H[start in Farsi mode]' + '-T[set terminal type]:::_terminals' + '-u[use given RC file instead of default .vimrc]::rc file:_files' + '--noplugin[do not load plugin scripts]' + '-o-[number of windows to open (default: one for each file)]::window count: ' + '-O-[number of windows to vertically split open (default is one for each file)]::window count: ' + '*--cmd[execute given command before loading any RC files]:command: ' + '-c[executed given command after loading the first file]:command: ' + '-S[source a session file after loading the first file]:session file:_files' + '-s[read normal-mode commands from script file]:script file:_files' + '-w[append all typed commands to given file]:output file:_files' + '-W[write all typed commands to given file]:output file:_files' + '-x[edit encrypted files]' + '-X[do not connect to X server]' + '--remote[edit given files in a vim server if possible]:*:file:_vim_files' + '--remote-silent[as --remote but without complaining if not possible]:*:file:_vim_files' + '--remote-wait[as --remote but wait for files to have been edited]:*:file:_vim_files' + '--remote-wait-silent[as --remote-wait but without complaining if not possible]:*:file:_vim_files' + '--remote-send[send given keys to vim server if possible]:keys: ' + '--remote-expr[evaluate given expression in a vim server and print result]:expression: ' + '(- *)--serverlist[list available vim servers and exit]' + '--servername[name of vim server to send to or name of server to become]:server name: ' + '-i[use given viminfo file instead of default .viminfo]:viminfo file:_files' + '(- *)'{-h,--help}'[print help and exit]' + '(- *)--version[print version information and exit]' + '*:file:_vim_files' +) + +_arguments -S $arguments |