Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
21 lines (13 sloc) 1.97 KB
This is a mirror of
gvimt.bat is a script for Windows to open new files in gvim in new tabs, splits or vertical splits. It starts gvim if it is not running already.
Call it from SendTo menu, from Context menu entries or from the command line.
It ignores command line vim, and gvims where the --servername parameter has changed the name to not include "GVIM"
It prefers to use vim.exe (command line vim, not gvim) to check if gvim is already running. If that's not available it will use the tasklist command (which exists from Windows XP, but not in Windows 2000). On Windows 2000 you'll need to have an instance of gvim running already. Tasklist is not always reliable when using several remote desktop sessions on a machine (because for some reason %SESSIONNAME% parameter is not always populated in the batch file's environment).
It creates gvimt.tmp while it is running, if it crashes or goes wrong for some reason, delete this file.
Why use this instead of simpler methods?
There are simpler ways to call gvim directly passing file names to new tabs. There is the --remote-tab parameter, for example. Some methods are discussed here:
There are some problems doing this with many files from the Windows context menu:
- There is no --remote-split parameter so a different approach is needed for opening files in a new split window. --remote-send can be used to send an arbitary command for this, but unlike --remote-tab it will not open a new instance of gvim if one doesn't already exist.
- If you select multiple files and use the Windows context menu, each file gets its own invocation of the command. gvim does not handle several simultaneous --remote-tab commands well.
- The SendTo menu does pass all the selected files to one command, but it is an extra click on the right menu to get there, so it is nice to use the Context menu.