Skip to content

Instantly share code, notes, and snippets.

@teepark
Created December 1, 2010 01:42
Show Gist options
  • Save teepark/722779 to your computer and use it in GitHub Desktop.
Save teepark/722779 to your computer and use it in GitHub Desktop.
#!/usr/bin/env zsh
VIM=$(/usr/bin/which vim) # vim executable
servers=`$VIM --serverlist` # servers: currently active vim servers
if [ "$(echo "$servers" | grep GVIM)" ]; then
servername=GVIM
server=GVIM
else
name=$(hostname)
servername=$(echo "${name}.${STY}" | tr '[:lower:]' '[:upper:]').VIM # servername: the server we will target
server=$(echo "$servers" | grep $servername) # server: present iff servername is already active
fi
cmd="$(test "$STY" -a "$(pidof X)" && echo "set t_Co=256")"
if [ -z "$server" ]; then
$VIM --cmd "$cmd" --servername $servername $@
else
for file in $@; do
$VIM --servername $servername --remote-send "<Esc>:tabe $(cd $(dirname $file); pwd)/$(basename $file)<Enter>"
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment