Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How to install (at least on Linux):

1. Install the Vundle plugin manager for Vim.

2. Add the line "Bundle 'Valloric/YouCompleteMe'" (without the double quotes) to your ~/.vimrc file.

3. Open Vim and run ":BundleInstall" without the quotes.

4. Install cmake if it's not already installed. In a temporary directory, run "cmake -G 'Unix Makefiles' . ~/.vim/bundle/YouCompleteMe/cpp" (without the quotes) to generate a Makefile and then run "make ycm_core" to build.

5. Open a file in Vim and start typing.



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


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).


No. On Mac OS X, using `vim` generally causes this error:

    error: There was a problem with the editor 'vi'
The full path must be used to get rid of it.


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.


Just wrote up Gentoo install at http://pastebin.ca/2311021


Urk. After using this awhile I don't like the context spam and have disabled it.

Interesting idea, I can see how people in .net who want to look up a little-used Windows API might like to use it being automatic, but the annoyance of the feature outweighs any benefit for my environment.

vi + console + syntax highlighting = my preference. Mind remains uninterrupted, focused, instantly aware of syntax errors, code structure. :)


newb here, i gotta ask: is there something like this for python/php/non-C languages? something that completes your elements etc..?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: