
If you want to see more comics like this, sign up for my saturday comics newsletter or browse more comics!

read the transcript!
sometimes annoying things happen in the terminal:
- why doesn’t
Ctrl+C
quit?? - why can’t I select text?
these things aren’t random: different “types” of programs have different conventions for how you interact with them!
here are some categories of programs & their conventions!
1. REPLs
(python3
, your shell)
you type code, press Enter
and it runs the code
rules:
- quit with
Ctrl+D
(only works on an empty line) - usually you have a million keyboard shortcuts for editing text
- usually there’s history
2. full screen “TUI”s
(less
, htop
, ncdu
, lazygit
, mtr
)
rules:
- quit with
q
(usually) - you can often navigate with arrow keys
- often
?
will open the help - to select text with the mouse, press
Shift
3. noninteractive programs
or slightly interactive
(grep
, git
, sort
, scp
)
you start it, maybe it asks you a question or two, it does stuff, and it exits
rules:
- quit with
Ctrl+C
4. wrappers
(ssh, env, tmux, rlwrap, unbuffer)
these wrap other terminal programs in some way
rules:
- when the program(s) they’re wrapping exits, they exit
5. other
lots of things don’t fit info these 4 categories: text editors, games, email clients, IRC clients, …
rules:
- I avoid these unless (like with
vim
) I’ve made a special effort to learn the program
Saturday Morning Comics!
Want another comic like this in your email every Saturday? Sign up here!