From e652756fdb0495e58f3f4f3be3a82aa9f166731d Mon Sep 17 00:00:00 2001 From: Derek Wyatt Date: Tue, 20 Mar 2012 08:16:44 -0400 Subject: A plugin that makes it easier to interact with the (single) running instance of gvim --- plugins/vim-interaction/vim-interaction.plugin.zsh | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 plugins/vim-interaction/vim-interaction.plugin.zsh (limited to 'plugins/vim-interaction/vim-interaction.plugin.zsh') diff --git a/plugins/vim-interaction/vim-interaction.plugin.zsh b/plugins/vim-interaction/vim-interaction.plugin.zsh new file mode 100644 index 000000000..3f346dfc3 --- /dev/null +++ b/plugins/vim-interaction/vim-interaction.plugin.zsh @@ -0,0 +1,67 @@ +# +# See README.md +# +# Derek Wyatt (derek@{myfirstnamemylastname}.org +# + +function resolveFile +{ + if [ -f "$1" ]; then + echo $(readlink -f "$1") + else + echo "$1" + fi +} + +function callvim +{ + if [[ $# == 0 ]]; then + cat <} == $after ]]; then + after="$after" + fi + if [[ ${before#:} != $before && ${before%} == $before ]]; then + before="$before" + fi + local files="" + for f in $@ + do + files="$files $(resolveFile $f)" + done + if [[ -n $files ]]; then + files=':args! '"$files" + fi + cmd="$before$files$after" + gvim --remote-send "$cmd" +} + +alias v=callvim +alias vvsp="callvim -b':vsp'" +alias vhsp="callvim -b':sp'" +alias vk="callvim -b':wincmd k'" +alias vj="callvim -b':wincmd j'" +alias vl="callvim -b':wincmd l'" +alias vh="callvim -b':wincmd h'" -- cgit v1.2.3-70-g09d2