# I kept leaving my terminal.

> Source: <https://dev.to/thepresident/i-kept-leaving-my-terminal-3pj5>
> Published: 2026-07-11 07:15:52+00:00

`shortcuts`

.
Every developer knows keyboard shortcuts are worth learning.

The problem is remembering them.

`shortcuts`

does that for you.

You forget how to split a pane in Windows Terminal, search through tmux scrollback, or jump to the end of a command. Instead of staying in your terminal, you open a browser, search the web, skim documentation, on a bad day ask some AI chatbot.

The interruption often costs more time than the shortcut was supposed to save.

I was doing this whenever I switched to some new CLI tool, so I stopped trying to memorize everything and instead built a tool that keeps the information exactly where I need it.

TBH the real issue was context switching in ma mind.

Even if finding the answer only takes ten to twenty seconds, those twenty seconds involve changing windows, searching, reading, and mentally returning to the task you were already working on took another 5 seconds.

Existing solutions weren't quite what I wanted

There are already plenty of ways to write it down:

I wanted something that lived and behaved like any other CLI utility

hence building the smallest thing that solved the problem

```
> shortcuts

=== Panes ===

Alt + Shift + +     Split pane
Alt + Shift + -     Split pane horizontally
Alt + Arrow Keys    Move focus

=== SSH ===
127.0.0.1           LocalHost
...
```

my shorcuts file contain :

```
standard keyboard shortcuts
Git commands I rarely use
SSH hosts
Docker commands
development ports
temporary notes
phone numbers
plaintext passwords {sorry} {I do not recommend this T_T}
```

It's just a text file

one of the first decisions I made was to avoid complication.

everything lives in a single plain-text file.

that gives a few advantages almost for free:

editable in any text editor

easy to version control

portable between machines

trivial to back up

no migration or export formats

Sometimes the simplest storage format is also the most future-proof

**Markdown**... but adapted for the terminal

I wanted the file to be pleasant to edit without inventing a completely new syntax.

So instead of creating a custom format, I borrowed the parts of Markdown that make sense in a terminal:

headings become terminal sections

**bold** and *italic* still work

one intentional difference is backticks.

instead of representing inline code, they highlight individual keys by using a different color:

`Ctrl`

+ `Shift`

+ `P`

this lets the renderer emphasize the important parts of a shortcut while leaving connectors like + or / visually unobtrusive.

many common Markdown features such as tables, HTML, images, nested lists were intentionally left out. A terminal cheat sheet doesn't need them, does it ?

Making it work everywhere was an interesting idea

the project supports **Windows**, **Linux**, **macOS**, **WSL**, and **Git Bash**.

the goal wasn't simply to run everywhere it was to behave the same.

Internally, the project maintains independent PowerShell and POSIX shell implementations that parse the same file format and produce equivalent output. That meant solving differences in ANSI rendering, alignment, text parsing, and shell behavior without exposing any of those differences to the user.

Keeping both implementations in sync ended up being more challenging when adding new features.

Constraints became features

Whenever I considered adding something, I asked a simple question to myself, and ma AI,

Does this make the tool easier to use every day?

If the answer wasn't clearly yes, it stayed out.

That meant deliberately avoiding:

dependencies

cloud synchronization

telemetry [will never be present]

complex configuration

The only time the tool connects to the internet is when you explicitly ask it to update itself.

Everything else stays local.

*final yap, I promise.*

Simplicity is prerequisite for reliability.

- Edsger W. Dijkstra

This project reminded me that not every useful piece of software has to be ambitious and big.

Sometimes the best tools are the ones which solve the smallest problems.

`shortcuts`

started as a way to remember keyboard shortcuts, but it would ultimately become a daily use for me.

If you'd like to try it, the project is available on GitHub

**GitHub:**

[https://github.com/Suhaas-code/shortcuts-cmd](https://github.com/Suhaas-code/shortcuts-cmd)

If you find it useful, consider giving the repository a ⭐(please T_T). It helps more developers discover the project, and to support contributions.

I'm also interested in hearing on what you'd add to a tool like this.
