Change the application title for each vim instance to be what
it would be for a OS-level window in other OSs so that they're
differentiable. (Yeah, I'm probably repeating what a lot of
other people have requested, but...)
see ":help --servername". That setting defines the "program name"
as seen on the titlebar. If you don't edit the same file in
different Vim instances, the filename displayed on the titlebar
will also help you differentiate them.
The Mac version of Vim does not support the +clientserver build
option and thus doesn't support that command-line option.
Not even on MacOsX with X11?
Probably does, but ughhh. The X11 implementation for the Mac treats the entire
server as a single application, i.e. three different apps running under X11 are
handled as three windows for the single X11 server app. This makes switching
between regular Mac apps and X11 apps a royal pain because you're continually
having to switch between command-tab and command-`.
It's best to only run a single X11 program at a time.
You don't understand: switching between windows and switching
between applications are two different things on the Mac. Using
command-tab switches between applications; command-` switches
between windows within an application. When command-tabbing
between applications, all you get is the application name; this
isn't anything specific to Vim. It's how all Mac apps work, e.g.,
if you've got a word processor with multiple documents/windows
open, all you'll be able to see when switching is the application's
name. Yes, the Vim window title-bar reflects all the usual
information you see in it on other platforms, but that does you no
good when switching between Vim instances.
Unlike some programs like Firefox (where all windows are handled by a
single instance of the program), in the case of gvim there is a
one-to-one correspondence between windows (as seen by the OS, I'm not
talking about split windows here) and program instances.
I'm well aware of that. It was a lot easier to implement tabs than multiple OS
windows, so that's what happened. Only thing: I hate this whole general move
to tabs for applications; we're heading back to the whole MDI insanity. SDI is
the way to go.
If the Mac-specific mechanism for switching between program instances
doesn't reflect the information gvim puts on its titlebar, then it
might be a Mac problem rather than a Vim problem.
"Problem"? I think that's by design. It's the way the whole Mac GUI works.
On Windows or Linux, the OS taskbar at the bottom of my screen
reflects whatever Vim has placed in its titlebar so I have no problem
discriminating between vim instances even there; similarly, Alt-Tab
also shows the information on the various titlebars, including gvim
titlebars.
The task bar "equivalent" (and that requires using the term very loosely) is
the Dock. The Dock has a single icon per app, not per window. It's part of the whole
paradigm. (I have very little use for the Dock; however, a lot of OS functionality
depends upon its services.)
This whole difference in handling windows vs. programs has its pluses and
minuses. It takes some getting used to.
Interestingly, there's one aspect of this I've really come to like. I think
it's a usability disaster for regular users, but closing the last window for an
app does not close the app. It's still running, it just doesn't have anything
visible in the main area of your screen. I use this with Firefox all the time.
I can close all its windows, yet when another app initiates the display of a
web page, there's no startup time for the browser; it's already running.
Regardless of OS, generally the only way I ever simultaneously edit multiple
files in Vim is in diff mode. Obviously, this means I lean on the * and +
registers a lot. :]