Why should you learn tmux?

I write Scala at my day job, and before that I did a lot of stuff with JavaScript and React. So why did I just release a course on tmux?

I’ve met a lot of developers who use the command line every day, but confess that they don’t feel totally comfortable. They’ve hit the intermediate plateau: that awkward stage where you can get shit done, but you know that you’re still not fluent.

The intermediate plateau is a difficult place to be. Unlike when you’re a total beginner, it’s not obvious what you need to learn, and the gains are smaller.

tmux is one of those tools that can feel like a leap forward, even if you’ve been working on the command line for a long time. Similar to screen, it allows you to wrangle multiple terminal sessions from one window. Instead of keeping track of many windows yourself, you can use tmux to create, organize, and navigate between them.

Even more importantly, tmux lets you detach from and re-attach sessions, so that you can leave your terminal sessions running in the background and resume them later. This is especially useful if you’re working on a remote server: you can set up a persistent session that will continue running when you close your laptop. You can even share a tmux session to facilitate pair programming.

My tmux course is free on egghead.io for the next few days. If you’re interested in picking up a new skill, go check it out!