…or, I suppose, other Linux-es…Linuxi…Linux distributions.
Many of the Vim features on which I’ve come to depend simply aren’t available in Vim pre-7.3.3. That’s fine if I’m working on an OS that cares about having up-to-date software like Ubuntu or OSX; however, it ain’t so great if I’m working on a shared host that uses CentOS five point something dumb because the hosting-providers weren’t hugged as children (I’d guess).
edit—10/01/2013
For installing on Ubuntu and additional source install tips see this little post on the YouCompleteMe wiki
New OS, Old Repo
The only thing worse than working on an old OS, with an old version of Vim is working on a new OS with an old version of Vim. I recently disovered that the yum-installable Vim (vim-enhanced) version on CentOS 6.3 is v.7.2.411—WTF CentOS? What’s your deal, guy?
Some plugins that depend on version 7.3:
And, really, those are just the plugins that fail loudly for me. Like the ones that vomit, “Hey, WTF, guy?” to stdout every rootin’ tootin’ time I fire up Vim. There would likely be other functionality that I’d loose by not using Vim 7.3.3+.
I don’t have to take this kind of guff from CentOS. No. I think that, instead, I’m going to do something awesome.
Compiling Vim from source means you don’t have to get pushed around by crummy distro repos and you look like a 1970s-era Fred Williams-level badass…so…bonus points…
Retrieving Vim source
Vim keeps its source in a Mercurial repo on googlcode so you need to
download it. To do that you should have Mercurial installed (which you
can, somewhat ironically, install from via yum yum install
mercurial
). You should switch to the root user for this install
and for your sanity so use su
or sudo
bash
:
$ sudo bash
$ cd /usr/local/src/
$ hg clone https://vim.googlecode.com/hg/ vim
$ cd vim
Configuration options
There are quite a few configuration options (which you can view by
running ./configure –help
in your newly created
vim
directory)—with respect to Vim installs I support going
nuclear. Even at it’s most ginormous Vim will still be a small install
relative to other IDEs—Vim is my primary editor and IDE, so I’m down to
do it big. I’m also going to use the /usr
prefix so that
Vim is installed system-wide.
$ ./configure --prefix=/usr --with-compiledby="Tyler the Compiler" --with-features=huge --enable-rubyinterp --enable-pythoninterp
make && make install
Srsly, that’s it—
make && make install
Congrats! You’re one bad mother Vim compiler.
So… which vim
? /usr/bin/vim
. Boom. Yeah,
that’s right.