Upcase header logo small 74d881f2938298c588db0b7c93de56caf020a767f5981ad9919f1ab5728e278f

Learn with thoughtbot


It's time to take control of your terminal!

This course teaches you about tmux's pane and window management, session management, copy-paste, and more.

This trail is a no-brainer for those who live in the terminal (and especially Vim users).

No prior tmux knowledge is required.


Part 1: Introduction

Learn about tmux's interface including panes, windows, and sessions and the handful of commands needed to get started.

Part 2: Configuration

Learn about the various ways to configure and extend tmux's behavior including defining custom key-bindings, tweaking the interface, and setting options to match your desired workflow.

Part 3: Navigation

Learn to create, organize, and efficiently navigate between tmux's panes, windows, and sessions as well as how to interact with scroll back and copy & paste.

Part 4: Vim Integration

Integrate Vim and tmux by unifying navigation within and between them, optimizing window layout, and sending commands from Vim to tmux.

Part 5: Advanced Workflow

Learn to efficiently create and destroy panes for one-off tasks, navigate between sessions with fuzzy matching, build prompted key-bindings, never leave tmux, and get a sense of what is possible beyond tmux's default behavior.

Part 6: Learning More

Learn how to make the best use of tmux's man page and help, as well as where to find additional online resources to continue learning your learning.

Taught by
  • Chris Toomey

    Chris Toomey

    Chris is a big fan of Vim and the general Unix philosophy of sharp, focused tools. He started his career as a mechanical engineer but has always had a passion for programming, specifically web development. He has worked in Visual Basic and Python, but since finding Ruby and Rails, there’s been no looking back. Outside of coding, Chris is a fan of dinner with friends, skiing, and an embarrassingly eclectic cross section of music.