Files
dotfiles/.config/tmux/tmux.conf##template.j2
2025-09-17 07:12:10 -04:00

84 lines
2.5 KiB
Django/Jinja

# Allows colors to better match
set-option -sa terminal-overrides ",xterm*:Tc"
# Stop swalloing characters
set -g extended-keys on
set -as terminal-features 'xterm*:extkeys,tmux*:extkeys'
# Mouseify mode
set -g mouse on
# reload config
bind R source-file ~/.config/tmux/tmux.conf
# Use ctrl-a as a prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# pane resizing
bind -r H resize-pane -L 2
bind -r J resize-pane -D 2
bind -r K resize-pane -U 2
bind -r L resize-pane -R 2
# splits
bind - split-window -v
bind _ split-window -h
bind | split-window -h
# window navigation
unbind n
unbind p
bind -r C-h previous-window # select previous window
bind -r C-l next-window # select next window
# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set -g @catppuccin_flavour 'mocha'
set -g @catppuccin_status_modules_right "battery application session date_time"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_right_separator "█"
set -g @catppuccin_window_text " #(basename #{pane_current_path})"
set -g @catppuccin_window_current_text " #(basename #{pane_current_path})"
set -g @vim_navigator_mapping_prev ""
set -g @vim_navigator_prefix_mapping_clear_screen ""
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'akohlbecker/aw-watcher-tmux'
set -g @plugin 'laktak/extrakto' # prefix + tab
set -g @plugin 'sainnhe/tmux-fzf' # prefix + F
set -g @plugin 'tmux-plugins/tmux-urlview' # prefix + u
set -g @plugin 'tmux-plugins/tmux-yank' # prefix + y
set -g @plugin 'schasse/tmux-jump' # prefix + j
{% if YADM_OS == "Darwin" %}
run '/opt/homebrew/opt/tpm/share/tpm/tpm'
{% else -%}
run '~/.tmux/plugins/tpm/tpm'
{% endif %}
set -g status-right-length 100
set -g status-left-length 100
set -g status-left ""
# set vi-mode
set-window-option -g status-keys vi
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Use F12 for pane sync
bind-key e set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"