Blog

A terminal Markdown editor that links like Obsidian

I keep my notes as a folder of Markdown files. They started as .txt, and at some point became .md — text in a directory I can grep, diff, and sync however I want. The format is rich enough to be useful and plain enough to outlive any app I open it with. I like that a lot. Most of my notes link to each other: less a tree, more a graph.

I went from Simplenote to a couple of others, then Bear, and now Obsidian, which is good. But I'm often in the terminal, and when I'm there I want to read or edit a note without switching to a GUI. editxr was already sitting in my shell, so I started using it on my own notes.

That's when it started pulling on threads. I'd be in one note and want to follow a link to another — but editxr could only open a single file at a time. So we added multi-file editing: open several at once in tabs.

One thing wanted the next. Tabs wanted a way to see the files, so there's a sidebar for the local directory now. It's new and still rough on big Markdown folders, but it's in. We wanted a way to jump around the way everyone expects, so Ctrl+O opens a quick switcher that takes you to any file in the tree; it opens in a new tab, Ctrl+N cycles tabs, Ctrl+W closes one. And if you land on a link, you can follow it. By the time all of that shipped there were enough new commands that we added a palette: Ctrl+/ shows everything you can do.

Links that stay out of the way

A link in editxr renders collapsed to its title. [[architecture]] shows as an underlined word, not raw brackets; [the spec](notes/spec.md) shows as "the spec." Press Ctrl+] (or click) and it opens — a local .md file in a new tab, an http(s)/mailto link in your browser. Ctrl+[ jumps back to where you came from, so following a link and returning is two keystrokes.

Move the cursor onto a link and it expands back to raw Markdown. Move off and it collapses again. Nothing is hidden, and nothing is a special "link object" — it's plain Markdown that happens to render nicely. Both styles work: standard [text](file.md) and Obsidian-style [[wikilinks]].

Following a [[wikilink]] to another note, then Ctrl+[ back.

No vault, just the directory you're in

There's no "vault" concept for now. editxr opens the directory you're in, every time, and your notes stay plain files — no proprietary format, nothing to import or export. It's a lens over a folder, not a place your notes get trapped.

That's the line I'm holding for now. If the project takes off, I'd like the community's take on where it should go from here.

It runs where you do

This linking shipped a while back; what's new is where. As of v1.4.0, editxr runs on Windows too, alongside macOS and Linux. The terminal editing, the live rendering, the linking: the same on all three. (The Windows build is x64 and also runs on Windows on ARM via the OS's emulation.)

Try it — point it at a folder of notes and hit Ctrl+O.

brew install pixdeo/tap/editxr
View on GitHub