How do I compile Vim with the clientserver
feature on Mac OS X? I have the vim-7.3.tar.bz2 source
I understand that MacVim has this built in, but it only works when the GUI is running. I want to work with a CLI version, as my work is so much easier with the CLI (I can switch to the Terminal with ease, for example).
I compiled Vim 7.3 with the following ./configure
options
./configure --enable-rubyinterp --enable-pythoninterp --with-features=huge
I have looked at this question on Unix & Linux, but it only takes care of the Ubuntu solution. Also, since I enabled the huge
feature set, I should expect +clientserver
, according to the vimdoc:
Thus if a feature is marked with "N", it is included in the normal, big and huge versions of Vim.
Update:
The server feature only works with GUI MacVim. To reproduce this:
$ Applications/MacVim.app/Contents/MacOS/Vim --servername VIM
The in another console:
$ vim --serverlist # does not output anything
Whereas if I'll fire up the GUI MacVim,
$ vim --serverlist
VIM1
But my requirement is to work in CLI Vim.
You could just run the CLI version of
vim
included in MacVim. With MacVim installed as/Applications/MacVim.app
, the CLI version is:This is compiled with the
clientserver
feature. You can add a symlink to this to put it in your$PATH
.Using MacPorts:
In a new window:
And in another window:
Quick. Easy.
EDIT
The
+gtk2
is required to make it work,+huge
is not enough. Actually, I think that it should work without+gtk2
as long as you have+x11
. Unfortunatelly I'm not on my Mac anymore so I can't try. The whole thing takes about 3 minutes so you could try it.ENDEDIT
You should get a command line executable with MacVim.
Even after reading all these answers, I had to spend several hours for making things work, so I would like to give some clear steps for someone like me.
Given that almost all of the Mac users are using Homebrew, my solution is using Homebrew for installtion.
brew cask install xquartz
brew install vim --with-client-server
Now if you launch vim, XQuartz will be launched as well. And if you run vim with
--servername <name>
argument, you will be able to see the server using--serverlist
option.But after this, you have to launch XQuartz with vim and also you have to do some work for making clipboard thing work again. I found a blog post and followed it but failed to make it work correctly regarding the clipboard.
You can now do this using HomeBrew as well:
It looks like this was added back in 2013, so I'm not sure why it's not mentioned more frequently.
Just in case you were doing this to start using Pterosaur like me, after installing vim with HomeBrew, you might have to force the symlink if you're using MacVim through HomeBrew as well.
Then, just set the
extensions.pterosaur.vimbinary
to/usr/local/bin/vim
in the Firefoxabout:config
page and it should work. I'm typing this using Pterosaur right now, though occasionally Python crashes.I got it to work by adding
--enable-gui=gtk2
Then run from the console:
From another console:
Or from within any Vim instance:
Note that X11.app will also boot up as it is necessary for the Vim server to function.