> ## Content Index
> Fetch the complete content index at: https://www.autodidacts.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Towards Universal Keybindings
- URL: https://www.autodidacts.io/universal-keybindings/
- Published: 2024-06-25T21:46:28.000Z
- Updated: 2024-06-25T22:01:55.000Z
- Author: Curiositry
- Tags: Tech, Software, Standards, Keybindings

Keyboard people invest time upfront memorizing keybindings, in order to save time in the long run. At least, that’s the theory. In practice, it’s more like this:

![Vim Keybinding Meme](https://www.autodidacts.io/content/images/2024/06/vim-keybindings-meme.jpg)

What if we crowdsourced the *optimal* set of universal default keybindings — and made them available in every app? Imagine all the people just *getting things done* in multiple programs, without retraining their muscle memory!

This is not a merely academic suggestion. I migrated from Bluefish and Geany to Sublime Text. It was good, but closed-source, so I switched to Atom. GitHub got bought by Microsoft, and axed Atom. So I learned Vim, and used VSCode (codium version, because Microsoft) for things that Vim was bad at. Now I use Helix for both code and prose. I’m trying out Emacs on the side, and fall back on Vim when necessary. At the same time, I switched from Unity, to Gnome, to i3, to Sway, to Xfce, to Cinnamon.

I’m tired.

**Does every text editor *have* to have different default keybindings for the same basic operations?!** Take ... opening a file:

| Text Editor     | Default (fuzzy) pick file keybinding |
| --------------- | ------------------------------------ |
| VSCode          | Ctrl+p                               |
| Helix           | Space+f                              |
| FZF             | Ctrl+t                               |
| Emacs           | C-x C-f                              |
| Vim             | :e or :Ex                            |
| Most other apps | Ctrl+o                               |

And then there’s save: a quick grep for :w in my text files would find many matches. And while I’ve never *intentionally* used the [software flow control](https://en.wikipedia.org/wiki/Software%5Fflow%5Fcontrol?ref=autodidacts.io) XOFF Pause transmission signal (Ctrl+s), I’ve sent it many times.

---

Every app makes their decisions for a reason. They’re trying to create a cohesive, efficient experience *within that one app*, and avoid conflicts.

But what if we created a cohesive, efficient experience, and avoided conflicts, **across all apps!** Wouldn’t it be glorious?!

My proposal:

1. **Create a voting website** with an entry for each keybinding, and each semi-universal action, and let people vote for the best pairings of keybinding + action.

  - From the page for Ctrl+p, people could vote between “Fuzzy Open”, “Print”, and “Preferences”, or nominate some other action. And on the page for “Fuzzy Open”, people could vote between Ctrl+p, Ctrl+t, Space+f, :Ex, C-x C-f, etc.
2. Spread it across the internet and **wait for a consensus to emerge**. Write blog posts arguing for this mapping or that mapping (taking into account all the *other* mappings). Optionally, write an opt-in app that crunches stats on people’s real-life usage, so the ergonomics of the keybindings for the most-used actions could be prioritized.
3. **Write an app** that can convert the winning universal keymap into a keymap for *any* program that supports remapping. (There might be a *few* keys that need to be remapped for a specific app, but it would be few enough it’d be easy to remember.) Also: allow users to override the universal keymap, and export their personal-universal keymap and load it into all their apps.
4. Encourge apps new and old to adopt the Universal Keybindings, but know that even if they don’t, *you* can have **one set of keybindings that you learn for life**.
5. Suddenly discover that you’re able to remember people’s names.