Text Editors

Software lasts way longer than it is intended to. Case in point: text editors.

Over the years, I’ve used a  lot of them:

Qedit, Turbo C IDE, Kate, Gedit, Kdevelop, Kwrite, Nano, Pico, Geany, OxygenXML, Visual Studio, Eclipse, DEC EDT, DEC TPU, and Notepad ++ all come to mind. I’ve probably forgotten another 20 or so that I didn’t list. In any case, no matter how hard I try, I end up using two ancient (as in they were around when I was in college back when Max Headroom was considered prime time entertainment) editors: vi, Emacs for nearly everything. For Python, I use WingIDE.

WingIDE is kind of a special case: I do a lot of coding in Python, and Wing is simply a pro tool. WingIDE is great at Python and anything you would need to edit in the Django or Zope world (Python, HTML, templates, some Javascript, config files). For non-Python or non-Django related work, Wing is not the best. There are things you can do in Wing (debugging immediately comes to mind) that you just can’t do quickly with a command line only workflow. The key word is quickly. There are other IDEs that are at Wing’s level, but Wing stands out in that it is written in Python… and the scripting language is Python.

Outside of Wing, in a given day, I’ll edit JavaScript, config files, bash scripts, Ruby, PHP, SQL, JSON, C, C++, Lisp, XML, HTML, CSS and on rare occasion some source file of a language I don’t know well. For quick edits, especially on remote servers it’s vi. For anything more in depth, I use Emacs.

Why?

Ubiquitiy over Utility

I try to avoid installing software if I can avoid it. So if vi is there, and it (and my vi-foo) is up to the task, I use it. The minute I need to start customizing vi, I switch to Emacs. If you are going to customize, better to start with a 89 Mustang GT than an 89 Yugo.

So what about Atom, Sublime and other modern editors?

I actually like Atom and Sublime quite a bit – but they just aren’t run anywhere ubiquitous like vi or emacs. If I’m doing remote work, vi and emacs run like a champ in an ssh session without round tripping the file to my local computer.  As I do more and more JavaScript, Atom seems to really fit the bill well, and I’m spending more and more time there as I spend more and more time with Meteor building WorkHere.

Leave a Reply

Your email address will not be published. Required fields are marked *