m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/blog/cheatsheets.html.erb
blob: 1be869a1dee4bcf496336204e68f9ac0bba4dcdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
title: "Cheatsheets to Stay Productive in the Command Line"
date: November 3, 2019
---
<p>
To stay productive in the command line, I maintain a personal
<a href="<%= git 'cheatsheets' %>">"cheatsheets" repository</a>.
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
<code>man</code>ning them or internet searching for "how do I resize an image with
imagemagick" to become tedious.
</p>

<p>
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 <em>me</em>,
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 <code>git add -p</code> or
<code>git rebase -i</code>, you should go learn about them!), and might instead
include tools that are already a second language to you (any <code>ffmpeg</code>
ninjas out there?).
</p>

<p>
There are existing tools that aim to improve command line productivity in
similar ways, like <a href="https://github.com/tldr-pages/tldr">
    <code>tldr</code>
</a> or <a href="https://github.com/cheat/cheat"><code>cheat</code></a>. For my
personal workflow, I figured that there's no reason to overcomplicate things
when tools I already have (<code>vim</code> + <code>git</code>) do the job fine.
</p>

<p>
Now, for any new UNIX system I intend on spending a lot of time on, I'll
<code>git pull gitlab.com/m-chrzan/cheatsheets</code> 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 <code>vim ~/ch&lt;TAB&gt; tool.md</code> away. If I do write any new
tips down, a quick <code>git push</code> allows me to keep the cheatsheets
synced across all other systems.
</p>