Hacker News new | ask | show | jobs
by justsee 4877 days ago
It depends on MacVim on OS X.

So for terminal Vim'ers:

1. copy the mvim script from MacVim to /usr/local/bin (or wherever)

2. ln -s /usr/local/bin/mvim vim (assuming you've ditched your old vim symlink)

Linking directly to the MacVim binary causes these sorts of issues[0].

[0] https://github.com/altercation/solarized/issues/60

3 comments

It doesn't really depend on MacVim, that's just a binary distribution of Vim for Macs that is proven to work.

Vim from Homebrew doesn't work though, something is wrong with the way Homebrew configures/builds Vim (don't know what though).

You can certainly build a Vim from source for Mac and have that work well with YCM, the only question is why would someone go through the trouble of doing so when MacVim does it for you.

Even if you prefer using Vim in the console and don't like the GUI, MacVim.app has a normal Vim binary inside it that you can call.

Vim from Homebrew + YouCompleteMe works for me.

* brew install vim

* alias vim="/usr/local/Cellar/vim/7.3.632/bin/vim"

* :BundleInstall 'Valloric/YouCompleteMe'

* Make the ycm_build directory:

    cd ~
    mkdir ycm_build
    cd ycm_build
* brew install cmake

* Run cmake from the ycm_build dir:

    cmake -G "Unix Makefiles" . ~/.vim/bundle/YouCompleteMe/cpp
* make ycm_core

And boom, YouCompleteMe is running for me.

Works amazing. Always had a problem with having to press a button to autocomplete. The cognitive reflection of "okay, I want help completing this word" usually defeats the speed improvement for me.

> It doesn't really depend on MacVim, that's just a binary distribution of Vim for Macs that is proven to work.

Ah okay - the README gave me a very different impression. Either way using the packaged MacVim binary via the mvim script is preferable, for reasons you've elaborated on.

> why would someone go through the trouble of doing so when MacVim does it for you.

Commandline lovers love trouble, are often not found browsing .dmg offerings?

homebrew-built vim worked fine for me. I followed the manual steps.
No, don't make a symlink. A simple alias is less obstrusive:

    alias vim='/path/to/mvim -v'
An alias will only work with things that are using your shell with your configuration sourced. Things that merely use your PATH won't pick that up.
For the typical use of Vim, it's perfect:

    $ vim filename
It breaks down when you use it in other common ways, like from your git configuration.
You can't use

    vim
anyway in git: you must give it the full path.
No, just 'vim' itself is fine, if you have a 'vim' in your PATH.

https://github.com/search?q=%27editor+%3D%27++extension%3A.g...

What I usually do is maintain a set of symlinks in ~/bin/ (which is in my PATH) if they are not already in my PATH (or if I want them to override something else in my PATH, like HEAD builds of various things on occasion), and only use aliases to set default arguments (`ls --color=auto` for example).

I do not use home brew or ports so is there any reason that this would not work with the default vim that ships with macos?
You need at least version 7.3 patch 584, which is fairly recent. You can check with :version.