Using tmux Sessions, Windows, Panes and Vim Buffers Together

Here's a short video going over how I switch between a dozen software projects in seconds using nothing but my terminal, tmux and Vim.

Quick Jump: Demo Video Showing How It Works

Now that I’ve been using Vim for a few months, I figured it would be a good time to share my day to day work flow on how I’m using it with tmux (something I’ve been using for years).

While figuring all of this out, I occasionally struggled between choosing to launch multiple terminal applications, tmux sessions, windows, split panes, Vim buffers and / or tabs. This is what I came up with in the end, and it’s been working great so far.

As a freelance developer, open source enthusiast and someone who likes hacking on my own projects, it’s no surprise that I have a lot of active projects.

This 10 minute video shows how I manage all of these projects on the command line.

Demo Video Showing How It Works

1:14 – Listing out a few tmux sessions

1:43 – Having 1 tmux session per project

2:22 – Attaching to a specific session

2:33 – Splitting individual files with Vim buffers

3:35 – Using tmux windows for separating Vim from your web server

3:47 – Splitting a window in half with tmux panes

4:01 – Using tabs in Vim to split up your buffers into groups

5:32 – Leveraging a second tmux window for running other processes

6:21 – Zooming in and out of a specific pane with tmux

6:53 – Recapping the workflow for developing and deploying my blog

8:03 – Switching between different projects / sessions is where tmux shines

9:43 – Persist, save and restore sessions with tmux-resurrect

What’s your favorite tmux / Vim workflow? Let me know below!