I’m an intermittent programmer. I program for a while, then I work on other things, then I do some more programming. I may take a break of months or even years between programming sessions.

I need a text editor, suitable for programming, that doesn’t require intense familiarity with it in order to be moderately productive.

Years ago, I was pretty good with emacs. I can do simple text editing with vi today. For both of these editors, my skills have a tendency to quickly fade to such a level that I just can’t be productive. They are great editors – if you use them daily.

What I need:

  • Plain text editing.
  • Syntax highlighting for most, if not all, languages. If an obscure, new language piques my interest, I want my editor to support it.
  • REPL support (for suitable languages). I don’t want to have to manually copy/paste between my editor and my REPL.
  • Fast load time. (That pretty well rules out Eclipse.)
  • Enough menu/prompting support that I don’t have to be current in my use of the editor. (This rules out vi and emacs.)
  • Rainbow paren support. Yup. I do Lisps. I need to see which paren I missed.
  • Windows and Mac. Linux is nice too. Windows version should run from a flash drive, so I can run it on work machines where I’m not allowed to install software.
  • Some sort of file browser. Show me the directory/file tree of my project folder. (Show/hide capability necessary.)
  • Stable. You can still be adding features, but I need my copy of it to be rock-solid.
  • Not real expensive. I wouldn’t mind spending $100 once, but I can’t pay a recurring charge since I use it infrequently. If it is non-free, I need a full-featured trial period long enough to decide to commit to it.
  • Attractive (subjective) gets bonus points, but it is not a requirement.

At the moment, I’m interested in Clojure, so that gets a little weight, but I’ll need good Python support, plus dozens of others. I don’t want a Clojure-only environment. Desired Clojure REPL integration: * Load file in REPL * Switch REPL to namespace of current file * println output to REPL * Execute selected code in REPL * REPL is conveniently located/accessible * Don’t make me go through something terribly awkward to send code to the REPL

Candidates in the running:

  • Eclipse - way too slow to start. Has the best/most complete REPL integration. Rainbow parenthesis (via Clockwise). I might have to overlook the slow start. (It takes 10 seconds!)
    • Windows: Has to be installed, but I’m allowed to install this on work computers.
  • Light Table 0.8-alpha - maybe… It is rough around the edges. If it is stable enough, it sure has nice REPL support for Clojure. Configure-by-editing-config-files knowledge will go stale quickly.
    • Rainbow paren - see https://github.com/LightTable/Rainbow. It doesn’t really seem to work well. I see adjacent parens getting the same color.
      • Try https://groups.google.com/forum/#!topic/light-table-discussion/NfVDHYoXRjM
      • With both of those applied, it seems to work
    • Windows: Looks like it runs ‘portably’ from any directory, including a flash drive.
  • Sublime Text 3 build 3083 - looks adequate. Starts fast. Clojure REPL seems a little weird with its use of load-string. Configure-by-editing-config-files knowledge will go stale quickly.
    • Reportedly has rainbow paren support. I can’t find it.
    • Windows: Portable edition exists

Candidates that did not make the cut:

  • Atom: REPL - Basic support is there; not full-featured (nREPL). More functionality in Repl Term, but it only works on OS X. Rainbow paren = no.
  • emacs - too hard to remember after 12 months off
  • JEdit: REPL - basic support is there; not full-featured. I don’t see rainbow paren.
  • Komodo Edit - no REPL support
  • SciTE: REPL = no; rainbow paren = no
  • Sublime Text 2 - REPL gap. SublimeREPL stopped working with this version.
  • vi - too hard to remember after 12 months off