Craig Oates

Shortcut Learner


Linux MacOS Windows

All Software Projects

Shortcut Learner is a console program for storing and viewing your personal collection of shortcuts. I wrote it in Python3 and it uses 'Rich' to present the collection in a nicely formatted manner (in the terminal).

Screenshot 1
Screenshot 1: How Shortcut Learner usually looks in my terminal.


To use Shortcut Learner, I recommend you meet the following:

  • You have experience with Python3.
  • You can create a virtual environment in Python.
  • You know how to install packages with Pip -- via 'requirements.txt'.
  • Comfortable with Linux -- This is not tested on MacOS or Windows.
  • Comfortable using a terminal and Bash.
  • (Optional) Comfortable creating a Python binary using PyInstaller.
  • (Optional) Familiar with Rich (Python library).

Shortcut Learner stores you shortcuts as a markdown (.md) file. So, you can alter, copy and backup the data in anyway you see fit. Shortcut Learner, also, provides an option to add a new shortcut to your collection from within the terminal. This mean you never need to go searching for the file, load it into an editor add the new shortcut, close the file and get back to what you were doing. This is even more useful if you are already in the terminal.

The aim of this project is to help you learn shortcuts which are relevant to you. I find I do not need to learn every shortcut in a program but it is always difficult to separate the ones you want from the ones you do not. They are always in a giant cheat-sheet/poster or part of a big list within the program itself. Because of this, I almost always never bother learning the shortcuts unless it becomes annoying enough not to. With Shortcut Learner, I can quickly add a one-line note to my shortcuts collection and get back to what I was doing. And, because I have used 'Rich' (to render the markdown in the terminal), you can use markdown formatting to make it easier to read your collection.

Screenshot 2
Screenshot 2: A layout example.

Screenshot 3
Screenshot 3: Another layout example (yes, I know I every screenshot has used lists. Feel free to not use lists in your set-up).

A perk (amongst many) with storing your shortcuts collection in a markdown file is you can adopt a 'quick-in and prune/curate later' approach. You do not always need information to look nice, you just need it to hand. This means you can have the markdown file open in your editor and add to it throughout the day (looking pretty) or add a quick note via the terminal two minutes before the end of your shift and tidy it up when you get in the next day. Remember to use the markdown features which work for you. You can remove shortcuts from the list once you have committed it to memory...

Relevant Links