Mac OS X Programming Editor Roundup
When I got my first Mac in 2004, I found few programming editors. Since then, however, Mac OS X has birthed many programming editors that match or beat options on other computing platforms. I’ve rounded up the ones I’m aware of, categorized into several sections. While some editors could fit several categories, I’ve confined each to one.
Some of these editors are free, and some cost money. While I understand people who won’t use closed-source software (though I don’t fall in that group), I don’t understand professional programmers who refuse to pay for software. Your programming editor is arguably your most important tool, and you should use the one that suits you best, regardless of cost. None of these editors cost much, especially compared to the value you derive if you program professionally.
Grizzled Veterans
The editors in this section emerged when people counted RAM in kilobytes, and pack incredible amounts of power and configurability. People who use these editors tend to be “hard core” developers who want to extend their editors through code, not through point-and-click configuration screens.
MacVim
License: Open Source
Cost: Free
http://macvim.org/OSX/index.php
MacVim is a graphical version of , which is in turn based on the venerable vi. Its mode-based nature imposes a learning curve, but its powerful key bindings mean your fingers rarely have to leave the keyboard to accomplish any task. It’s configured through configuration files and extensible through plugins, both of which can’t be understood without devoting some learning time, but those who invest the time mock the puniness of other editors.
Emacs
License: Open Source
Cost: Free
http://emacsformacosx.com/
http://aquamacs.org/
The other side of the emacs-vs.-vi religious war, Emacs offers extreme configurability and extensibility through Lisp. Like vim/vi, it’s difficult to learn, rewarding to master, and its adherents feel sorry for the rest of us. Of the two versions listed, Aquamacs is a little more Mac-like and GUI-oriented and Emacs.app is a more traditional Emacs approach. Both offer the same finger-breaking key combinations and programming power.
SlickEdit
License: Commercial
Cost: $299
SlickEdit first appeared on DOS in the late 1980s, and has been a premiere editor ever since. It uses a C-like language called Slick-C for extensions, and comes with a multitude of keybinding options that you can customize. It’s also the least Mac-like editor on this list, however, as it runs under X11 exclusively. Still, it’s an amazing editor with tons of power.
Mac Faithful
These editors claim a long heritage on Mac OS X, and most have stalwart followings.
BBEdit
License: Commercial
Cost: $39.99
http://barebones.com/products/bbedit/
BBEdit began pre-OS X, and its fans have seen the editor both grow in features and drop in price. It has particularly strong HTML editing capabilities, and also can be used to edit Mac OS X’s binary plist files. Updates still come regularly for this venerable editor — version 10 was recently released.
TextWrangler
License: Commercial
Cost: Free
http://barebones.com/products/textwrangler/
This of this editor as BBEdit without the HTML and version control goodies, and you’re not far off. Originally born as a $50 replacement for BBEdit Lite (at a time when BBEdit was $199), it subsequently went free. According to its popularity on the Mac App Store, it’s the go-to option for people who want a Mac GUI editor for no cost.
TextMate
License: Commercial
Cost: €39
TextMate broke new ground for Mac OS X editors with its attractive GUI, Emacs-like extensibility through easily developed TextMate bundles, themes, and low cost. This editor seems to dominate the Rails community, and it’s easy to write and run code from within it. You can think of TextMate as an Emacs with a much flatter learning curve.
Smultron/Fraise
License: Commercial
Cost: $4.99
http://www.peterborgapps.com/smultron/
Smultron began as an open source editor, and was abandoned after about five years of development. Someone forked the project, dubbed it “Fraise,” and developed it for about a year, until the original Smultron developer returned and picked up development anew. In its new incarnation, Smultron is closed source, and is available on the Mac App Store in a pre-Lion version and a Lion version. It’s a lightweight editor with a surprising number of features.
SubEthaEdit
License: Commercial
Cost: €29
http://www.codingmonkeys.de/subethaedit/index.html
SubEthaEdit’s big differentiator, besides its weighty name, is its collaboration features. Through its networking features, you can edit documents in teams, with all of you typing in realtime. You can also make some people read-only participants. The possibilities are intriguing.
skEdit
License: Commercial
Cost: $29.99
http://www.beforedawnsolutions.com/applications/skedit
Geared toward Web development, skEdit supports a slew of Web languages out of the box. It offers remote editing, browser previews, and integrated HTML Tidy.
Free Agents
The editors in this category work across all the major platforms, so should be especially of interest to people who spend their programming time on different OSes and want a consistent programming experience.
Komodo Edit
License: Open Source
Cost: Free
http://www.activestate.com/komodo-edit
Komodo Edit is geared toward Web development (Perl, Ruby, JavaScript, PHP, HTML, CSS . . .) and uses an extension system similar to Firefox’s. It has customizable key bindings, syntax highlighting, regular expressions, and all the features you’d expect from a programming editor.
Redcar
License: Open Source
Cost: Free
Redcar should interest Ruby developers, as it’s written in Ruby and runs on JRuby. It supports Textmate bundles and can be extended through plugins written in Ruby. It’s still in alpha but is definitely usable.
Sublime Text 2
License: Commercial
Cost: $59
http://www.sublimetext.com/blog/articles/sublime-text-2-beta
Sublime Text 2 is in beta, and has a distraction-free mode. It also shows a thumbnail of the current file in the upper right corner of the editor window, with an overlay indicating where you are in the file. It has something called the Command Palette, so you can quickly access commands that don’t merit key bindings. This editor gets a lot of buzz lately.
jEdit
License: Open Source
Cost: Free
Written in Java and extensible using BeanShell, jEdit has been available on all the major OS platforms for years. Its interface betrays its Java nature, but it integrates pretty well into the Mac OS X desktop. Be sure to turn on anti-aliasing in the Preferences screen, or the font looks awful.
Incoming Rookies
These editors are relative newcomers. Some are still in beta, and one isn’t even available at all (yet). Keep your eye on these.
Tincta
License: Green
Cost: Free
http://mr-fridge.de/software/tincta/index.php
Tincta is a 1.0 release, and is comparatively spartan compared to the other editors on this page. It supports syntax coloring for a squadron of languages, however, and aims to be small and quick, which it seems to accomplish well. It is certainly the purplest editor you’ve seen.
Vico
License: Commercial
Cost: $39.99
Vico is available for purchase in the Mac App Store, and also available as a free trial download from their website. It uses vi keybindings and supports TextMate bundles, making this an attractive option for both MacVim’s and TextMate’s camps. It’s scriptable using the Nu language. It has a file tree, tabbed editors, and the ability to split the screen horizontally and vertically.
Kod
License: Open Source
Cost: Free
Kod looks like Google Chrome and is styled using CSS3, making it an editor for geeks. Development has slowed, however, as its principal developer started a new job and isn’t as focused on moving this editor forward. The editor itself seems further along than its configuration interface.
Chocolat
License: Commercial
Cost: Unknown
Still under exclusive beta, Chocolat seems poised to be the successor for TextMate. It has a file tree, tabs, quick open, split editing, themes, and TextMate bundle support.
Syntoxic
License: Unknown
Cost: Unknown
http://byteproject.net/tagged/Syntoxic
We know little about Syntoxic besides the fact that it has a gorgeous icon and that it will be released when it’s done.
Summary
Did I miss any? Please let me know.
The real question is, which do I use? Currently, I mostly use MacVim, though I have my eye on Vico, Chocolat, Sublime Text 2, and Syntoxic. And I use BBEdit to edit plist files — it’s far superior to Xcode’s point and click plist editor.
Hey Rob,
thank you very much for featuring Syntoxic here on your site. It’s in an early stage of development and it will surely take some time until it’s going alpha (probably not before 2012). Anyway, it will be worth the waiting. I have a vision and I’m glad to share some of my goals with you and your readers.
First I should mention what Syntoxic will NOT be:
Syntoxic won’t be another attempt to be like Textmate 🙂 it’s a trend of upcoming editors to look and behave like Textmate. I prefer doing my own innovations but of course Syntoxic will come with many features, making it competitive to Textmate, at least that’s the goal 😉
What Syntoxic WILL be:
Syntoxic will be a commercial application with syntax coloring, grammars, themes, auto-completion and a beautiful UI. It will be extensible and users can create their own Plug-Ins, themes and grammars with the (not sure if bundled or available as separate tool for free) Syntoxic Plug-In Creator. Syntoxic enables script execution in your favorite scripting language AND it can be scripted using JSTalk. Besides of simple script-plugins, I’m planning to add a Plug-In API, that can be addressed using Cocoa or JSTalk. I have Textmate-bundle support on my todo list, though support means importing the Textmate-bundles to Syntoxic’s own implementation. Syntoxic will ship with powerful text editing and RegEx tools, it will work with the cloud, with gists and pasties. Syntoxic will be a Lion-exclusive release. There are more features on my roadmap but they remain secret for now 🙂
Stefan–it sounds ambitious and amazing. I’ll stay tuned!
And what Coda ? http://panic.com/coda/
I was focusing only on general purpose editors, but it’s true that Mac OS X also has some HTML/CSS/JavaScript-focused website management tools. This post is due for a refresh anyway–I’ll include those in the new post!
cot editor is gorgeous: scriptable, customizable and open source.
still chokes on big files (large sql dumps, etc) but then again coda would hardly do a better job with those.
http://coteditor.com/