Skip to Content
Navigation:

A stick figure smiling

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

Image of a comic. To read the full HTML alt text, click "read the transcript".

browse more comics! get the zine!
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!

I'll send you one of my favourite comics from my archives every Saturday.
© Julia Evans 2024 | All rights reserved (see the FAQ for notes about licensing)