[英]Compile Vim 7.3 with +clientserver feature on Mac OS X
如何在Mac OS X上使用clientserver
功能编译Vim? 我有vim-7.3.tar.bz2源码
我知道MacVim内置了它 , 但它只在GUI运行时才有效 。 我想使用CLI版本,因为我的工作使用CLI更容易(例如,我可以轻松切换到终端)。
我使用以下./configure
选项编译了Vim 7.3
./configure --enable-rubyinterp --enable-pythoninterp --with-features=huge
我在Unix和Linux上看过这个问题 ,但它只关注Ubuntu解决方案。 此外,由于我启用了huge
功能集,我应该期待+clientserver
,根据vimdoc :
因此,如果某个功能标有“N”,则它包含在Vim的普通版,大版和大版中。
服务器功能仅适用于GUI MacVim。 要重现这个:
$ Applications/MacVim.app/Contents/MacOS/Vim --servername VIM
在另一个控制台:
$ vim --serverlist # does not output anything
如果我要启动GUI MacVim,
$ vim --serverlist
VIM1
但我的要求是在CLI Vim中工作。
您现在也可以使用HomeBrew执行此操作:
brew install vim --with-client-server
看起来这是在2013年添加的 ,所以我不确定为什么没有更频繁地提到它。
为了防止你像我一样开始使用Pterosaur ,在使用HomeBrew安装vim之后,如果你通过HomeBrew使用MacVim,则可能必须强制使用符号链接。
brew link --overwrite macvim
然后,只需在Firefox about:config
页面中将extensions.pterosaur.vimbinary
设置为/usr/local/bin/vim
。 我现在正在使用Pterosaur打字,虽然偶尔Python会崩溃。
使用MacPorts:
$ sudo port install vim +huge +gtk2
在新窗口中:
$ /opt/local/bin/vim --servername FOO
在另一个窗口:
$ /opt/local/bin/vim --serverlist
FOO
快。 简单。
编辑
需要+gtk2
才能使它工作, +huge
是不够的。 实际上,只要你有+x11
,我认为它应该没有+gtk2
。 不幸的是,我不再在我的Mac上,所以我不能尝试。 整个过程大约需要3分钟,所以你可以尝试一下。
EndEdit中
我通过添加--enable-gui=gtk2
./configure --enable-rubyinterp --enable-pythoninterp --with-features=huge --enable-gui=gtk2
然后从控制台运行:
$ vim --servername FOOBAR_SERVER
从另一个控制台:
$ vim --serverlist
FOOBAR_SERVER
或者从任何Vim实例中:
:echo serverlist()
FOOBAR_SERVER
请注意,X11.app也将启动,因为Vim服务器必须正常运行。
您可以运行MacVim中包含的vim
的CLI版本。 将MacVim安装为/Applications/MacVim.app
版本为:
/Applications/MacVim.app/Contents/MacOS/Vim
这是使用clientserver
功能编译的。 您可以为此添加符号链接以将其放入$PATH
。
即使在阅读了所有这些答案之后,我也不得不花费几个小时来使事情有效,所以我想为像我这样的人提供一些明确的步骤。
鉴于几乎所有Mac用户都在使用Homebrew,我的解决方案是使用Homebrew进行安装。
brew cask install xquartz
brew install vim --with-client-server
现在,如果您启动vim,XQuartz也将启动。 如果使用--servername <name>
参数运行vim,您将能够使用--serverlist
选项查看服务器。
但在此之后,你必须用vim启动XQuartz,你还需要做一些让剪贴板工作再次工作的工作。 我发现了一篇博客文章并关注它,但未能使其在剪贴板上正常工作。
您应该使用MacVim获取命令行可执行文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.