There are two main applications that I use on my Mac to manage text input, depending on whether it’s free form text, or structured text such as code.

For the former, I use iA Writer (available on both the Mac and the iPad). It is simply the best text editor ever created. It has the best display font, Nitti, which ensures clarity and at the same time, slows your reading such that you’ll read every character of what you’ve typed. In addition, the text size is sufficiently large which allows you to see your progress very visually. Most importantly, it comes with a very sparse distraction-free writing mode, called Focus Mode, that fades off all text except the current sentences, allows you to just type without any distractions.

Given that this application has absolutely no configuration settings and the fact that it still feels right, it could be said that it is extremely well designed. Every design decision, including the background and cursor is meticulously engineered to look beautiful, and hence, less distracting.

Here’s an introduction video:

This is one of the few applications that have made writing a pleasure for me and I use it for all writing tasks. Word is just for formatting at the end. I hope the developers would release a trial version someday as the only way to fully appreciate its beauty is to use it.

Another aspect of writing that I do often is coding. Programming languages are very structured and the least the code editor could do would be to enforce and aid in such syntactical rules. On the Mac, I’ve always used TextMate as it has awesome colour scheme support and bracket autofill. There are also bundles that are language specific that would allow you to run custom commands with a simple shortcut-keystroke.

Lately, development of TextMate has almost stopped and the developer claimed that he is working on a successor version, TextMate 2. It’s been a few years since that announcement (2009) and nothing much has been said publicly after that.

Thankfully, someone stepped up to the game and is now working on releasing another code editor that is similar enough to TextMate, but better. Sublime Text 2 is currently in beta, but in my currently regular use, it has performed reliably well. The best part of this is that this editor is cross-platform, available on the Mac, Windows, and Linux. As of this version, (build 2111), it has almost reached feature parity with other mature code editors. The only minor downside is that the code-editor configuration is driven by text-based JSON configuration files, no spanking clickable GUIs available, yet.

For a code-editor to be decent, I have two requirements. First, it needs to automatically indent the text-insertion point whenever I insert a newline. If my text-insertion point is between two brackets (or curly braces), it should be smart enough to send the closing bracket to the next line, leaving my cursor right in the middle of both lines, indented by 1 tab-stop. Second, it needs to automatically close my brackets, while at the same time, prevent me from generating an additional closing bracket should I choose to type it in manually. Stepping in when I forget, stepping out of the way when I remember.

Before I came across Sublime Text 2, I was on a lookout for a decent and usable code-editor for the Windows platform—Notepad++ is not decent. I’ve tried UltraEdit too, which supposedly is the most popular text editor, but it didn’t fit my requirements. With Sublime Text 2, I’m at ease.

In both my code-editor and my Terminal.app, I use Ethan Schoonover’s Solarized colour scheme. It comes in both light and dark variants, and I personally prefer using the light variant. Here’s how it looks:

PHP with Solarized—Light

In Sublime Text 2, there’s also an option to customise the interface chrome so that it is less jarring and black. For that, I use the Soda Theme, light variant. Here’s how it looks:

Soda Theme—Light

As for the font, I use either Apple’s Menlo (if available) or André Berg’s Meslo (a modified version of Apple’s Menlo), “Meslo LG S” variant (on Windows especially). It is monospaced and it has great readability at most reasonable sizes (9–13 pt). Nitti Light would have been a great monospaced font if not for its exorbitant price.

Happy writing and coding!