Smart tmux sessions with zoxide and fzf hero

Smart tmux sessions with zoxide and fzf

Create and manage tmux sessions automatically with a custom script that uses zoxide and fzf.

Update: I’ve created an official tmux plugin called to make it easy to set this up in your workflow. View “t - smart tmux session manager” tmux plugin

zoxide

Terminal window
brew install zoxide

View zoxide on GitHub

tmux

Terminal window
brew install tmux

View tmux on GitHub

~/.config/fish/config.fish
abbr tn "tmux new -s (pwd | sed 's/.*\///g')"

You can turn off the detach-on-destroy option in your tmux.conf to allow tmux to switch to an existing session when you close the final window on a session.

~/.tmux.conf
set-option -g detach-on-destroy off

macOS Binding

This is the macOS binding I use (cmd+j) to open the session manager popup.

~/.config/alacritty/alacritty.yaml
key_bindings:
- { key: K, mods: Command, chars: "\x02\x54" }

Watch “macOS Keyboard Shortcuts for tmux” for more details.

Sign-Up for New Posts

Stay in the loop and get the latest blog posts about dotfiles sent to your inbox.

man sitting at desk in front of a landscape of rivers leading to a mountain range

Dev Workflow Intro

Your guide to creating a powerful and intuitive development workflow in the terminal.

The terminal is a powerful tool for developers, but it can be overwhelming to know where to start. This guide will help you create a powerful development environment in the terminal. Here are some of the things you'll learn.

  • Install packages and keep them up-to-date
  • Design a minimalist, distraction-free, user-interface
  • Use familiar keyboard shortcuts
  • Manage multiple projects with ease
  • Integrate with Git and GitHub
Get Started