################################################################################ # Tmux Configuration (Cam Spiers) ############################################## ################################################################################ # # This Tmux confg is tailored towards development with vim, it use tpm and # requires the follow tools: # # | Tool | Description | # | ----------------------- | ---------------------- | # | TPM | Tmux Plugin Manager | # | Kitty terminal | High Performance | # | Facebook File Picker | For getting file paths from buffer | # | 1Password CLI | For getting secrets | # Force tmux to use utf-8 setw -gq utf8 on # Enable mouse support set -g mouse on set-option -g default-shell /usr/local/bin/bash # Report a title to external programs set-option -g set-titles on set-option -g set-titles-string "#S" set-option -g status-position bottom set -g @tmux_power_theme 'snow' set -g @tmux_power_show_upload_speed true set -g @tmux_power_show_download_speed true set -g @tmux_power_left_arrow_icon ' ' set -g @tmux_power_right_arrow_icon ' ' # Set out terminal to kitty # set -g default-terminal "xterm-kitty" set -g default-terminal "${TERM}" set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0 ################################################################################ # Bindings ##################################################################### ################################################################################ # Navigate windows using shift left and right bind -n S-Left previous-window bind -n S-Right next-window # Navigate sessions using option left and right bind -n M-Left switch-client -p bind -n M-Right switch-client -n # Navigation bind C-h select-pane -L bind C-j select-pane -D bind C-k select-pane -U bind C-l select-pane -R ################################################################################ # Plugins ###################################################################### ################################################################################ # Custom dir outside of .dotfiles set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.local/share/tmux/plugins' # List of plugins set -g @plugin 'tmux-plugins/tpm' # Sensible tmux defaults set -g @plugin 'tmux-plugins/tmux-sensible' # Yanks to the system keyboard set -g @plugin 'tmux-plugins/tmux-yank' # Common bindings set -g @plugin 'tmux-plugins/tmux-pain-control' # Allows path picking from any tmux window content set -g @plugin 'jbnicolai/tmux-fpp' # Common pane navination with vim (overrides C-l for clear) set -g @plugin 'christoomey/vim-tmux-navigator' set -g @plugin 'wfxr/tmux-power' set -g @plugin 'wfxr/tmux-net-speed' set -g @plugin 'Morantron/tmux-fingers' # Initialize TMUX plugin manager run '~/.local/share/tmux/plugins/tpm/tpm'