3

I am trying to open a file in a new tab in an already running console Vim session. This functionality is available in gVim via the --remote-tab-silent option.

If this is not possible, is there a work around?

1 Answer 1

3

If you have Vim compiled with +clientserver, and you run Cygwin's X server, and you invoke console Vim with a --servername argument, then yes. See:

:help clientserver
:help --servername

Example:

vim --servername vim
vim --remote-tab-silent foo

When you install Cygwin's version of gVim, it should create a symbolic link from /bin/vim to /usr/bin/gvim, which means you will have +clientserver and you can use this functionality in console vim.

The reason the X server is required is that "Unix" variants of Vim use X's security protocols and interprocess communication to implement the +clientserver features. The question is whether you want to have to run Cygwin's X server just to get this functionality.

5
  • 1
    Incidentally, I prefer to start Cygwin's X server with the -internalwm argument, which prevents X from running in a window where X clients display; instead, the X clients are handled by Windows' directly.
    – Heptite
    Aug 11, 2012 at 20:47
  • Thank you for your answer. I am curious how you figured this one out? Aug 12, 2012 at 5:51
  • 1
    It's not a simple explanation, but part of it is that I follow the Vim developers' mailing list, so I was aware that console Vim could become a server provided an X server was available and the --servername argument was provided on invocation. It wasn't a stretch to assume that it'd basically be the same under Cygwin as long as Cygwin's X server was available.
    – Heptite
    Aug 12, 2012 at 5:55
  • How would I compile it that way ?
    – aemonge
    Mar 19, 2020 at 9:34
  • Edit the Makefile and add the line CONF_OPT_X = --with-x and uncomment CONF_OPT_AUTOSERVE = --enable-autoservername. Then you must run Cygwin's X server. I start it this way: C:\cygwin64\bin\XWin.exe -multiwindow Make sure your DISPLAY environment variable is set: export DISPLAY=:0.0
    – Heptite
    Mar 19, 2020 at 17:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .