Wednesday, May 11, 2011

Vico and IdeaVIM

I've been a programmer for years, cutting my teeth in the 8-bit days on Z-80 home computers and CP/M transluggables, then moving to the psuedo-16-bit world of DOS & Windows, and eventually on to real 32-bit Unix/Linux. Back in the day when the clouds parted and the light shone down upon me from Heaven above because I was switching to Linux, I made an explicit decision to learn vi.

The reasoning was simple and still holds true today: vi is always installed on whatever Unix or Unix-like box you'll find yourself on, and you can usually find a vi-clone to get you by on the other platforms. Even in today's world of remote desktops and virtual servers, I find myself quite often shelled into a remote box somewhere and pulling up vi for even the most basic sysadmin work. Making that muscle memory more natural seemed... well, to be a natural decision.

In the pre-IDE days, windowing desktops were pushing the limits of standard vi. At the time, I was a big fan of Elvis primarily for its X-Windows support. These days, most everybody uses Vim, though its gvim windowing mode is not that great. Even MacVim leaves something to be desired if you ask me.

Which brings me to Vico, a very promising vi editor for the Mac. Its not officially out yet and will be around $50 when it is finally done, but you can download a two-week trial beta version for free. It seems very, very cool, supports tabbed editing very nicely, and does syntax highlighting for a large variety of languages. I tooled around it with some Java, Ruby, and XML sources this morning and was quite happy. It's not quite a full-blown IDE but fills the void when one is not needed, say for Ruby or Python programming.

Of course, there is quite a difference between a text editor and a full-blown IDE. When doing heavy Java development, I usually pull out Jetbrain's IDEA IntelliJ. Historically, vi support within IntelliJ was an independent effort done with a plugin called IdeaVIM. It worked ok in IntelliJ 8, but was almost completely useless when IntelliJ 9 came out. Things have gotten better though, with Jetbrains seemingly taking ownership of IdeaVIM, support under IntelliJ 10 is very good. Jetbrains even touts vi compatibility, accomplished with this plugin, for their RubyMine product.

I do find myself dipping back into the C/C++ world on occasion and desiring an IDE there as well (most likely brain damage from my Microsoft Visual C++ days, or maybe just hearkening back to years gone by with Borland's Turbo C... who knows). For this I use Eclipse and, when I can, viPlugin. It's not the greatest, but it'll do.

Anyway, thanks for reading this ramble. If you are a Mac user, keep your eye peeled for Vico. And if you are an IntelliJ or RubyMine user, get IdeaVIM (it's free).

4 comments:

  1. AquaMacs (http://aquamacs.org/) does me the same not-an-IDE on the EMACS side of the proverbial fence. I like the combination of emacs and mac keybinding, and it includes many useful modes (including haskell support)

    ReplyDelete
  2. Avoiding the probable emacs vs vi digs, I always thought the point of emacs was that it was more of an IDE than a text editor.

    I imagine XEmacs over X on a Mac is about as much fun as gvim over X on a Mac. MacVim can get you by, but Vico is clearly much better.

    Oddly, I haven't checked out gvim integration on Ubuntu. I guess I just haven't had the need.

    ReplyDelete
  3. Hmm, I previously posted a comment on using AquaMacs as the emacs not-quite-an IDE, but it seems to have disappeared.

    ReplyDelete
  4. Yes... and I had replied to it, a comment which has also disappeared. Blogger has been having a melt-down since Thursday evening. Early today, this post wasn't here then it came back. I think they had to restore from backups... and that took a long time.

    ReplyDelete