dots/tmux/.tmux.conf

71 lines
2.7 KiB
Bash

# TMUX_COLORTAG_ROUNDED_POWERLINE=yes
set-environment -g TMUX_POWERLINE_THEME bubble
# Options
set -g mouse on
set -g default-terminal "screen-256color"
set-option -sa terminal-overrides ',xterm-256color:Tc,xterm-*:allow-passthrough'
set-window-option -g mode-keys vi
set -g status-position top
set-option -g set-clipboard on
set -g @yank_action "copy-pipe"
set -g @yank_clipboard 'osc52'
set -g base-index 1
setw -g pane-base-index 1
# Keybinds
set-option -g prefix C-\\
unbind C-b
bind C-\\ send-prefix
bind r source-file ~/.tmux.conf
# alt for nav between panes
bind v split-window -h -c "#{pane_current_path}"
bind b split-window -v -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
bind-key "T" run-shell "sesh connect \"$(
sesh list --icons | fzf-tmux -p 80%,70% \
--no-sort --ansi --border-label ' sesh ' --prompt '⚡ ' \
--header ' ^a all ^t tmux ^g configs ^x zoxide ^d tmux kill ^f find' \
--bind 'tab:down,btab:up' \
--bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
--bind 'ctrl-t:change-prompt(🪟 )+reload(sesh list -t --icons)' \
--bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
--bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
--bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
--bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
--preview-window 'right:55%' \
--preview 'sesh preview {}'
)\""
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
# set -g @plugin 'Determinant/tmux-colortag'
# set -g @plugin 'erikw/tmux-powerline'
set -g @plugin 'rose-pine/tmux'
set -g @rose_pine_variant 'main'
set -g @rose_pine_left_separator ' > ' # The strings to use as separators are 1-space padded
set -g @rose_pine_right_separator '  ' # Accepts both normal chars & nerdfont icons
set -g @rose_pine_field_separator ' | ' # Again, 1-space padding, it updates with prefix + I
set -g @rose_pine_window_separator ':' # Replaces the default `:` between the window number and name
set -g @rose_pine_window_status_separator "  "
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
run '~/.tmux/plugins/tpm/tpm'