To stay productive in the command line, I maintain a personal
"cheatsheets" repository.
There are many commands, or particular options of certain commands, that I don't
use often enough for them to become muscle memory, but often enough for
man
ning them or internet searching for "how do I resize an image with
imagemagick" to become tedious.
I can recommend following a similar practice to anyone, though I don't recommend
using my cheatsheets. They are usually quick notes that follow my own mental
shortcuts, and in general are optimized to be quickly understood by me,
based solely on my past experiences with these tools. I won't include options
that are already obvious to me (if you haven't used git add -p
or
git rebase -i
, you should go learn about them!), and might instead
include tools that are already a second language to you (any ffmpeg
ninjas out there?).
There are existing tools that aim to improve command line productivity in
similar ways, like
tldr
or cheat
. For my
personal workflow, I figured that there's no reason to overcomplicate things
when tools I already have (vim
+ git
) do the job fine.
Now, for any new UNIX system I intend on spending a lot of time on, I'll
git pull gitlab.com/m-chrzan/cheatsheets
in my home directory. When
I want to remind myself of a command's use case, or have just figured out a new
cool trick that I know I'm going to forget if I don't write it down, my notes
are just a vim ~/ch<TAB> tool.md
away. If I do write any new
tips down, a quick git push
allows me to keep the cheatsheets
synced across all other systems.