The ultimate Developer Productivity Hack for working with terminals

Ryan D
2 min readMar 20, 2024

--

Screenshot of a Visual Studio Code terminal running tmux with two panes. The pane on the left 2/3rds is running vim editing a tmux.conf file, and the pane on the right is running a remix/vite dev server. In this screenshot each pane is titled with its index and the current running process. The active pane is highlighted with a blue border. There’s also a title bar on the terminal footer showing the active pane title on the left, and the current host, time, and date on the right.

The ultimate Developer Productivity Hack for working with terminals feels like an industry secret — we don’t talk about it enough! It’s called a terminal multiplexer.

Got disconnected from a remote/SSH session due to patchy internet while you were running a database migration script? You should have used a terminal multiplexer.

Want to have multiple panes or windows on a SSH session without having to reconnect every time you open a new pane? Don’t do panes in your local terminal UI, use a terminal multiplexer!

Laptop running out of battery and you need to switch machines but you’re still waiting on that model to finish training on your remote box? You should have used a terminal multiplexer to keep your session running even while you disconnect/reconnect SSH.

If you’re not already using one, check out tmux — it’s completely free and open source. If you’re a macOS user, I’d recommend using the oh-my-zsh tmux plugin to make set-up super easy. tmux also has its own plugin system — check out tpm on github.

If you want some suggestions for your ~/.tmux.conf file, check out pane 0 in the attached screenshot. And if you’re wondering, the terminal in this screenshot is running inside Visual Studio Code using the built-in Solarized Light colour theme.

Want more tips on developer tools and developer productivity? Follow me on X (formerly Twitter) at x.com/@ryan0x44

--

--

Ryan D

CEO & Founder @ Nadrama.com - Previously: @Flippa @Xero @Cloudflare.