Created
May 23, 2025 23:18
-
-
Save jrcharney/b02725b2ddd52bfafd1630b05fa995be to your computer and use it in GitHub Desktop.
Tmux configuration that is easy to use
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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