summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_vim
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_vim')
-rw-r--r--Completion/Unix/Command/_vim74
1 files changed, 74 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_vim b/Completion/Unix/Command/_vim
new file mode 100644
index 000000000..81af64546
--- /dev/null
+++ b/Completion/Unix/Command/_vim
@@ -0,0 +1,74 @@
+#compdef vim
+
+_vim_files () {
+ if [[ $(echo $PREFIX*(N)) == '' ]]; then
+ case $PREFIX in
+ (+) _message -e 'start at a given line (default: end of file)' ;;
+ (+<1->) _message -e 'line number' ;;
+ esac
+ fi
+ case $PREFIX in
+ (+*) _files -P './' $* ;;
+ (*) _files $* ;;
+ 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