diff --git a/zsh/zsh.d/Darwin/50-darwin.zsh b/zsh/zsh.d/Darwin/50-darwin.zsh index cb6d036..ea21069 100644 --- a/zsh/zsh.d/Darwin/50-darwin.zsh +++ b/zsh/zsh.d/Darwin/50-darwin.zsh @@ -8,6 +8,6 @@ alias lsrebuild='/System/Library/Frameworks/CoreServices.framework/Versions/A/Fr alias vim='/Applications/MacVim.app/Contents/MacOS/Vim' # alias mvim='mvim --remote-tab-silent ' -alias mvim='open -a MacVim ' +# alias mvim='open -a MacVim ' # vim: set ts=4 sw=4 tw=0 ft=zsh : diff --git a/zsh/zsh.d/Darwin/mvim.diff b/zsh/zsh.d/Darwin/mvim.diff new file mode 100644 index 0000000..047b5d2 --- /dev/null +++ b/zsh/zsh.d/Darwin/mvim.diff @@ -0,0 +1,47 @@ +--- mvim~ 2013-07-09 21:55:06.000000000 +0200 ++++ mvim 2013-07-07 21:24:15.000000000 +0200 +@@ -13,6 +13,8 @@ + # or by un-commenting and editing the following line: + # VIM_APP_DIR=/Applications + ++tabs=true ++ + if [ -z "$VIM_APP_DIR" ] + then + myDir="`dirname "$0"`" +@@ -58,15 +60,26 @@ + esac + + # Last step: fire up vim. +-# The program should fork by default when started in GUI mode, but it does +-# not; we work around this when this script is invoked as "gvim" or "rgview" +-# etc., but not when it is invoked as "vim -g". + if [ "$gui" ]; then +- # Note: this isn't perfect, because any error output goes to the +- # terminal instead of the console log. +- # But if you use open instead, you will need to fully qualify the +- # path names for any filenames you specify, which is hard. +- exec "$binary" -g $opts ${1:+"$@"} ++ if $tabs && [[ `$binary --serverlist` = "VIM" ]]; then ++ exec "$binary" -g $opts --remote-tab-silent ${1:+"$@"} ++ else ++ exec "$binary" -g $opts ${1:+"$@"} ++ fi + else +- exec "$binary" $opts ${1:+"$@"} ++ exec "$binary" $opts ${1:+"$@"} + fi ++ ++# # Last step: fire up vim. ++# # The program should fork by default when started in GUI mode, but it does ++# # not; we work around this when this script is invoked as "gvim" or "rgview" ++# # etc., but not when it is invoked as "vim -g". ++# if [ "$gui" ]; then ++ # # Note: this isn't perfect, because any error output goes to the ++ # # terminal instead of the console log. ++ # # But if you use open instead, you will need to fully qualify the ++ # # path names for any filenames you specify, which is hard. ++ # exec "$binary" -g $opts ${1:+"$@"} ++# else ++ # exec "$binary" $opts ${1:+"$@"} ++# fi