# Text editors

### The best thing since punchcards

I've used a lot of text editors. I like zipping around in a light 2-stroke text editor, as opposed to overengineered IDEs and word processors, both of which make me feel like I am a stowaway trapped in the bilge of someone's supertanker.

On the other, for a while I was using the text editor, atom, which is as free from IDE comforts as a dinghy is free from staterooms, and yet as slow and gigantic as any over-engineered ocean liner, so I clearly don't know what I want any more. Perhaps simply to be loved.

UPDATE: now I am using visual studio code, which is faster and better, in a startling change of direction for Microsoft.

Here are some editors you might use, arranged in order of decreasing relevance to my own life.

See Atom.

## Textmate

Textmate -- The brilliant-but-erratic Mac-OS editor that the Rubyists used to use. Now open source, but with an intimidating codebase that few seem to want to touch. Famous for painstakingly re-inventing wheels that look nearly exactly like the old wheels but are a little bit rounder, although they do occasionally explode and replacement parts can take four years to arrive.

Textmate I also occasionally use, because I was using it already, and there are some things it does better than Atom (search, tab-triggered macros, not using all your RAM) although TBH it could still be faster.

### Crashing Finder via quicklook

Posted here because I don't know where else to put it, since at time of writing (2018-03-29) the textmate bug tracker is closed:

Textmate was, for me, causing Finder the crash all the time, in a non-obvious way; Whenever I clicked on a binary file in Finder, it would crash. The crash log would include stack trees including _CTGlyphStorage, e.g. TRunEncoder::Encode(_CTGlyphStorage*, CFRange, unsigned int, __CFDictionary const*) + 280. This was from the preview rendering of binary files as text.

Turns out this is fixable.

# check if quicklook is buggering up your binary file:
qlmanage -p  ~/Music/bass.flac.asd
# qlmanage -p  /Users/dan/Music/L…' terminated by signal SIGSEGV (Address boundary error)
# Delete
mv /Applications/TextMate.app/Contents/Library/QuickLook/TextMateQL.qlgenerator{,.disabled}
# refresh
qlmanage -r
qlmanage -p  ~/Music/bass.flac.asd
# no crash


When you next update Textmate your fix will be undone, but maybe it will be fixed in Textmate itself? Or you can delete TextMate.

Or maybe the problem is somehow specific to my computer? I don't know, I've already spent all the time on this I can.

## vi

These days we spell it vim or neovim but the idea is the same.

“The bartender's smile widened. His ugliness was the stuff of legend. In an age of affordable beauty, there was something heraldic about his lack of it. The antique arm whined as he reached for another mug. It was a Russian military prosthesis, a seven-function force-feedback manipulator, cased in grubby pink plastic.”

A fugly, quirky, functional no-fuss editor that runs everywhere, most notably your legacy campus computing cluster.

I am sure that William Gibson was thinking of vi when he composed the above quote, since vi was already about 4 years old by then.

## TeXshop

Texshop is a MacOS-specialised editor for LaTeX.

## Sublime text

Sublime Text -- The UI-oriented cross-platform text editor that took over when the guy who made the previous trendiest text editor (Textmate) went AWOL for 3 or 4 years. I feel bad for the creator, who held the text editing world together solo for years with a genuinely impressive product and now has all these free competitors backed by large corporations, drinking his milkshake. Still has, IMO, the best UI out of everything here.

I don't use it, although perhaps I will.

## LightTable

LightTable -- pretty, open source, revolutionary IDE-like live-code inspection. Language support is deep but narrow. (clojure, javascript, python). There is an effort to port it to an Atom-like architecture, in order to sell more CPUs.

I've used this while I was learning clojure, but that is on hiatus now.

HackMD TBD

## Miscellaneous others

• xi is another hip cult thing, kind of a vim to Atom's emacs in terms of simplicity (The worm turns.)

The xi editor project is an attempt to build a high quality text editor, using modern software engineering techniques.

This is to say - it uses sensible data structures and is written in Rust, and some google employee is blogging lucidly about it. Since you have to install rust and xcode to compile it, there is no way that actually running this thing is anything other than yak shaving.

• jupyter is also effectively a text editor with built-in-preview. I use that sometimes.

• Brackets -- Adobe's web-design-centric editor, with the best CSS support out of anything. (If you are going down this webbish path, make sure to use Emmet too)

• Zed -- the opposite of Atom, but built using the same technology (i.e. Chrome's javascript engine) Hackable javascript-based, ultra-minimalist editor. Unique quirk: There are no unsaved files. Edit indecision is left to version control. Runs from a browser, so it runs on ChromeOS. But then it also can't run local code.

• Notational Velocity -- Text-oriented with excellent search; the major inspiration for Zed, but with less codey-focus.

I would mention emacs, but if I wanted a bloated and confusing editor with a badly-considered scripting system, I'd run atom. As it happens, I must, because I do. So at least I should run one with UX designers on staff. From experience, emacs only stokes my weakness for yak shaving; and in any case I like my workflows less specialised than the exotic ones that flourish in the rich parenthetical mulch of the tropical emacsystem. See above re: IDEs etc.