Skip to content

Instantly share code, notes, and snippets.

@jrcharney
Created May 23, 2025 23:18
Show Gist options
  • Select an option

  • Save jrcharney/b02725b2ddd52bfafd1630b05fa995be to your computer and use it in GitHub Desktop.

Select an option

Save jrcharney/b02725b2ddd52bfafd1630b05fa995be to your computer and use it in GitHub Desktop.
Tmux configuration that is easy to use
# File: ~/.tmux.conf
# Info: Tmux configuration
# Created by: Jason Charney (https://github.com/jrcharney)
# Last Updated: 23 May 2025
# To reload the config file, you can run 'tmux source-file ~/.tmux.conf' or restart tmux
# For a list of tmux command, see https://tmuxcheatsheet.com/
# enable mouse mode (easier for resizing panes)
set -g mouse
# set default terminal to 256-color mode
# TODO: Is this acceptable for kitty or konsole?
set -g default-terminal "screen-256color"
# Use vim-style key binding (helpful for movement)
# NOTE: I'm pretty sure this is the default mode
setw -g mode-keys vi
# Adjust the split pain keybindings. (Vertical '"' is now '-', Horizontal '%' is now '|')
# TODO: Don't do this just yet. Make sure that I described it correctly.
# TODO: Should all keys be quoted?
# unbind '"'
# unbind %
# bind | split-window -h
# bind - split-window -v
# Remap the prefix key from CTRL-b to CTRL-a (I'm not doing that.)
# unbind C-b
# set-option -g prefix C-a
# bind C-a send-prefix
# Powerlevel10k style status line
# Set the status bar at the bottom (isn't it already?)
# set -g status-position bottom
# Set a nice colorscheme for status bar
# set -g status-bg colour234
# set -g status-fg colour136
# set -g status-left " #(whoami) "
# set -g status-right "#H"
# Set the window title format to include the current directory
# setw -g window-status-current-format "#[fg=green]#W#[default]"
# To install Tmux Plugin Manager (TPM), run this command first.
# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# To install a plugin, add it to this file, save this file, and run 'C-b' then 'I' (uppercase I)
# To update plugins, run 'C-b' then 'U' (uppercase U)
# To remove a plugin, remove it from this file, save this file, and run 'C-b' then 'A-u' (Alt-U)
# TODO: Uncomment this when TPM is installed.
run -b '~/.tmux/plugins/tpm/tpm'
# PLUGIN: tmux-resurrect
# INFO: Save and restore tmux sessions
set -g @plugin 'tmux-plugins/tmux-resurrect'
# PLUGIN: tmux-continuum
# INFO: Automatic session saving and restoration (typically every 15 minutes)
set -g @plugin 'tmux-plugins/tmux-continuum'
# PLUGIN: tmuxinator
# INFO: A session manager that allows you to define complex tmux configuration environmnents in YAML and easily start complex tmux setups
set -g @plugin 'tmux-plugins/tmuxinator'
# PLUGIN: tmux-copycat
# INFO: Searchable tmux buffer (history)
set -g @plugin 'tmux-plugins/tmux-copycat'
# PLUGIN: tmux-sensible
# INFO: Sensible defaults for tmux (I don't use this.)
# set -g @plugin 'tmux-plugins/tmux-sensible'
# PLUGIN: tmux-fingers
# INFO: Enhanced mouse and pane navigation.
# NOTE: This is disabled until I know what's in it.
# set -g @plugin 'tmux-plugins/tmux-fingers'
# PLUGIN: tmux-themepack
# INFO: A set of Powerlevel10k themes for TMUX
# TODO: If cyan doesn't work out, try blue.
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/double/cyan'
# With tmux-theme-pack, we don't need to mess with colors or divider characters to modify some of the widgets.
# set -goq @themepack-status-left-area-left-format "#S"
# set -goq @themepack-status-left-area-middle-format "#(whoami)"
# set -goq @themepack-status-left-area-right-format "#I:#P"
# set -goq @themepack-status-right-area-left-format "%H:%M:%S"
# set -goq @themepack-status-right-area-middle-format "%d-%b-%y"
# set -goq @themepack-status-right-area-right-format "#H"
# set -goq @themepack-window-status-current-format "#I:#W#F"
# set -goq @themepack-window-status-format "#I:#W#F"
# set -goq @themepack-status-left-area-left-format "#S"
# set -goq @themepack-status-left-area-middle-format "#(whoami)"
# set -goq @themepack-status-left-area-right-format "#I:#P"
set -goq @themepack-status-right-area-left-format "%Y-%b-%d"
set -goq @themepack-status-right-area-middle-format "%I:%M %p"
# set -goq @themepack-status-right-area-right-format "#H"
# set -goq @themepack-window-status-current-format "#I:#W#F"
# set -goq @themepack-window-status-format "#I:#W#F"
# Set the window-status stuff toward the left
set -g status-justify left
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment