A revisited MacVim editor review

About a week ago I posted (amongst other ramblings) that I had successfully moved over to the Vim text editor for most of my day to day… editing. I mentioned how I loved the syntax highlighting and how much it improved the readability of code, and how I had got used to the two mode operation and most of what I would consider to be the basic and intermediate commands.

MacVim icon
MacVim in the /Applications folder

Unfortunately I also said that I had installed Vim from MacPorts on my MacBook Pro to use in the Terminal and that I failed to see what the point would be of installing the dedicated graphical MacVim application. I've since been proven wrong and have even started using MacVim as my primary editor for everything I do on this machine, and I love it!

ASIDE: Despite what you may think, I was not paid any money to create this post. Isn’t it a sad state of affairs these days when you have to go on record saying that you’re not being paid off? Sheez Lousie!

My incorrect assessment stemmed from my own misunderstanding of what MacVim was capable of; I assumed that it was just an Aqua version of GVim, or in English a Mac OS X native version of graphical Vim that didn't need X11. While this is true, it does have features that put it far ahead of the simple Terminal based Vim I was advocating before.

Firstly, the syntax highlighting which what made me fall in love with Vim from the beginning is far richer in MacVim because it supports full 16bit colour, not 16 colours. Below is a comparison of a simple Ruby script I wrote shown in MacVim and Vim:

Vim (left) compared to MacVim (right)
Vim (left) compared to MacVim (right)

Now obviously I could go into my Terminal.app preferences to get the same background colour and font size, but the colours definitely look nicer in MacVim. I'm one of those fruitjobs who sees their code as poetry, and as with all art it looks far nicer when presented in a nice frame :-).

Another feature of MacVim given that it's a native Mac OS X Aqua application is that along with the regular [esc]+[:]+command Vim commands, it also supports native Mac shortcuts. This means to open a file I can enter :o ~/Documents/MyFile.rb or just as easily enter [Command]+[O] and use a regular Mac OS X dialog box.

Then there are the little things that perhaps don't improve usability in the traditional sense, but make the program nicer to use such as native, Safrai like tabs, the utilisation of the Mac menu bar and a native Mac toolbar you can collapse. It also throws errors using native Mac windows:

Mac-like error message
Mac-like error message

My final concern with using a graphical MacVim application instead of the command line Vim was that I spend most of my life in the Terminal and would hate to have to move to the Dock, click the application icon and navigate to the file I want when I might already be there in the Terminal. Fortunately in the MacVim archive you download there's also a small mvim script you can put in any folder in your shell's $path which will automagically launch the MacVim application whenever you enter mvim filename from the Terminal, just as with TextMate. I chose to put my mvim file in /usr/local/bin given I'm also a FreeBSD guy.

Having used MacVim for just over a week now, I can confidently say it has really made my life much easier. If you're on the hunt for a text editor for Mac OS X and don't like the idea of shelling out an arm and a leg for shareware that isn't even as good anyway, give it a try! I love it so much I'm going to make a donation this afternoon: after all I would think paying for something you don't need to pay for is much higher praise than being told you have to pay or it will cease to work, right?

MacVim is available from it's Google Code project page.