Three Editor Use Cases

I have three different text editors, that I use for three distinct use cases.

I’m a software developer, so I basically edit text files for a living, and the editing software that I use for this is fairly important to me.


For any substantial editing, either for work, or for personal projects, I currently use Visual Studio Code - generally known as “vscode”. It’s good enough: it’s extremely actively developed, so always up to date, and it has all the plug-ins you could ever want. Performance is good enough, once it’s started up.

I tend to just start my project editor once and leave it open permanently.

I’m still aggrieved that Microsoft killed the Atom editor when they bought GitHub, despite promising that they wouldn’t. It was a better editor - better UX, Tree-sitter, etc…​

Occasional or One-Off Editing

If I’m just doing a quick edit of a config file or something - I generally don’t use the project editor. It’s too heavy, too slow to start and will remember all the previous open stuff - which I want in project mode, but not for one-off editing.

Because I have less baggage and attachment to this editor, this is where I experiment with new editors.

I have used Mousepad, CudaText, Lite XL - but currently mostly using Lapce. Really fast startup, cross-platform, tree-sitter, good enough.

CLI Editing

I mostly use a desktop GUI, but always have terminals open all over the place and often do some editing there. I’ve never learned to sing the song of vi - and I don’t feel the need, at this point. I use the excellent micro editor for all my terminal editing needs. I have this set in my .bashrc:

export EDITOR=micro

Micro is excellent, open source and written by Zachary Yedidia.

For me, editing in the CLI is generally one-off editing too. If it turns into a project, I switch to using my project editor.