For those people who don’t follow me on Twitter or listen to my whining on IRC, I’ve recently lost a good friend. My 2008 Macbook Pro. We had a lot of good times over the years. Sure, I went through a battery, an $80 power cord, and two (yes, two) wireless network cards, but it still rarely let me down and gave me the best of both worlds with number of available apps and programming power.
But, alas, my old friend passed away recently. I won’t get into the gory details, but let’s just say it was fallen by an “adult” beverage about a week ago.
Since the majority of my development happens on a laptop, I was put into a bad position. It wasn’t possibly financially to drop $1700 on a new MBP (or even $1200 on the 13”), so after about 3 days of soul searching (and working on a Linux VM), I decided to do the unthinkable and buy a $450 PC laptop. A quick format, and dual boot install of Windows 7 and Ubuntu 10.10 later, I was up an running.
Strangely enough, my main issues with switching came down to three major things.
- iTunes
- Lightroom
- Most importantly, my text editor
Since I was going to be spending the majority of my time in Linux, I was frustrated that i had to reboot just to update the podcasts on my iPhone. Sadly, there’s no real workaround for this, so I’m just dealing with syncing my podcasts less often. I love Lightroom for my photography stuff. Granted, i’m not taking as many pictures as I used to, but I still found it frustrating to have to reboot to dump my memory card. Again, I’m going to just deal with it — there’s no equivalent on Linux that’s near the caliber of what Lightroom can do.
As a programmer, however, the majority of my work time is spent in a text editor. Textmate and i have become very close over the last few years, and it was an app that could do a whole lot of stuff in a small amount of time. It’s fast, not overly complex, and just feature rich enough to do what I need. I had a lot of custom snippets that I used for various little tasks in my daily life. Honestly, I seriously thought about coming up with the money just for Textmate — which in hindsight just seems ridiculous.
After spending a few days trying out different editors to see if I could find the magic that Textmate had, I made a realization. I only use about 15% of what Textmate does on a regular basis, so if I could just find something that mimics the workflow of how i used it, I could figure out the details and little things later. I needed to be able to edit now.
So, strangely enough, I’ve come home. Vim. Well, specifically, gvim, Before I had Textmate, vim was all I used for development. Most of the CMSMS code written before 1.0 was all done in vim, and it’s something i’m terribly comfortable with. So, that was great. Now to just fill in some of things I absolutely needed in order to survive and not lose all of my speed. These were mainly:
- Ability to just open up a directory in the editor immediately without creating a “project” (basically, mate .)
- Ability to quickly fuzzy find a file in that directory or any of it’s children and open it (the infamous command-t)
- Ability to define snippets or macros, just to save on typing
Interestingly enough, there seems to be a largish contingent of people on the Mac switching away from Textmate to Macvim or Emacs. I’m not totally sure what’s causing this, besides maybe boredom. However, I’m not going to complain, because it allowed me to find the Janus project on github. It’s basically a collection of vim plugins (specifically for Macvim) that duplicate a lot of the core features of Textmate. Perfect!
Of course, I’ve already forked it and start adding some tweaks, mainly to deal with the lack of a Command key on Linux, but also start adding some plugins that I’ll need for a more PHP focused environment, as Janus was aimed more towards Ruby developers.
All in all, I’m happy with my decision. Desktop Linux has really come a long way, and once I get over some of these last few hurdles in my switch, it’ll be ok. My new HP laptop may not be my old friend, Macbook, but it’ll do.