The Sublime Text text editor
Sublime Text is a graphical text editor that's extensible with Python. It sports a mini-map scroll bar and multiple-cursor editing, but its most important feature is how fast it is despite the number and size of files that are open. Features like jumping to a function definition are built-in, despite it not being an IDE or having innate knowledge of how to compile a project.
It has three features built-in that I added to The nvi text editor with Modern nvi mappings but which feel more seamless in Sublime Text:
⌘Popens a file in the currently open project based on fuzzy searching.⌘⇧Fsearches across multiple files in the project.⌘⇧Rjumps to a definition based on fuzzy searching.
But it feels like Sublime Text's moment in the sun is passing. Many of the most popular plugins haven't seen updates recently and it looks like their authors have moved on.
Sublime Text has some headlining features that I don't particularly care for:
The mini-map doesn't offer much and takes up valuable screen space. I do like the larger grab area for the scroll bar, though.
Multiple cursor editing doesn't make much sense to me unless you're very fluent in moving the cursor using the keyboard, like with vim. Using
⌘Dto select the next occurence of selected text helps, but I have trouble remembering to use it.
And others that I haven't given a fair shot yet:
One of my favorite features from vim is the macro recording system, where you start recording, do a series of actions, and then can replay those actions on other lines. It feels like a natural way to build batch editing operations. Sublime Text has this feature, but I haven't tried it.
It's possible to set up a JSON file that instructs Sublime Text to build a project and get file and line information from any errors or warnings. I've tried to use this for Xcode projects, but didn't spend time finding out why it wasn't working.
Sublime Text doesn't support italic or bold with proportional fonts so it's difficult to recommend it for writing prose.
I've augmented the built-in features with some Sublime Text plugins I use and fortunately didn't have to spend much time Configuring the defaults of Sublime Text.