54 lines
1.6 KiB
Bash
54 lines
1.6 KiB
Bash
set -g default-terminal "tmux-256color"
|
|
set -sa terminal-features ",*:RGB"
|
|
set -sg escape-time 0
|
|
setw -g mode-keys vi
|
|
set -g mouse on
|
|
|
|
#binds
|
|
bind-key 'x' kill-pane
|
|
bind-key 'h' previous-window
|
|
bind-key 'j' switch-client -p
|
|
bind-key 'k' switch-client -n
|
|
bind-key 'l' next-window
|
|
bind-key 'n' new-window
|
|
bind-key 'c' kill-window
|
|
|
|
# decide whether we're in a Vim process
|
|
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
|
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
|
|
|
unbind y
|
|
bind-key 'y' if-shell "$is_vim" 'send-keys F5' 'select-pane -L'
|
|
unbind u
|
|
bind-key 'u' if-shell "$is_vim" 'send-keys F6' 'select-pane -D'
|
|
unbind i
|
|
bind-key 'i' if-shell "$is_vim" 'send-keys F7' 'select-pane -U'
|
|
unbind o
|
|
bind-key 'o' if-shell "$is_vim" 'send-keys F8' 'select-pane -R'
|
|
|
|
#copy mode
|
|
bind -T copy-mode-vi v send -X begin-selection
|
|
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip"
|
|
bind P paste-buffer
|
|
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip"
|
|
|
|
|
|
# List of plugins
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
set -g @plugin 'catppuccin/tmux'
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
|
|
#Plugin settings
|
|
set -g @catppuccin_flavour 'frappe'
|
|
set -g @catppuccin_window_tabs_enabled on
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
set -g @continuum-restore 'on'
|
|
set -g @continuum-save-interval '10'
|
|
set -g @continuum-boot 'on'
|
|
|
|
|
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
run '~/.tmux/plugins/tpm/tpm'
|