--- 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