diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..1821af5 --- /dev/null +++ b/tmux.conf @@ -0,0 +1,74 @@ +unbind r +# unbind -n c-Enter + +bind r source-file ~/.tmux.conf \; display "Reloaded!" + +set -g prefix C-t +set -g mouse on + +bind-key m select-pane -L +bind-key n select-pane -D +bind-key e select-pane -U +bind-key i select-pane -R + +bind-key h resize-pane -Z + +set -s extended-keys on +set-option -g status-position top +set-option -sg escape-time 0 +# set-option -g focus-events on + +set -g default-terminal "tmux-256color" +set -ag terminal-overrides ",xterm-256color:RGB" + +bind-key = kill-session + +# set-option -s escape-time 20 + +# Plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'christoomey/vim-tmux-navigator' + +# Catppuccin theme +set -g @plugin 'catppuccin/tmux' +set -g @plugin 'tmux-plugins/tpm' +set -g @catppuccin_window_left_separator "█" +set -g @catppuccin_window_right_separator "█ " +set -g @catppuccin_window_number_position "right" +set -g @catppuccin_window_middle_separator " █" +set -g @catppuccin_window_default_fill "number" +set -g @catppuccin_window_default_text "#W" +set -g @catppuccin_window_current_fill "number" +set -g @catppuccin_window_current_text "*#W" +set -g @catppuccin_status_modules_right "directory application session " +set -g @catppuccin_status_left_separator " " +set -g @catppuccin_status_right_separator "" +set -g @catppuccin_status_right_separator_inverse "no" +set -g @catppuccin_status_fill "icon" +set -g @catppuccin_status_connect_separator "no" +set -g @catppuccin_directory_text "#{pane_current_path}" + + +# Smart pane switching with awareness of Vim splits. +# See: https://github.com/christoomey/vim-tmux-navigator +# is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'" +# bind-key -n 'C-m' if-shell "$is_vim" 'send-keys C-m' 'select-pane -L' +# bind-key -n 'C-n' if-shell "$is_vim" 'send-keys C-n' 'select-pane -D' +# bind-key -n 'C-e' if-shell "$is_vim" 'send-keys C-e' 'select-pane -U' +# bind-key -n 'C-i' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' + +# tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' +# if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ +# "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" +# if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ +# "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" + +# bind-key -T copy-mode-vi 'C-m' select-pane -L +# bind-key -T copy-mode-vi 'C-n' select-pane -D +# bind-key -T copy-mode-vi 'C-e' select-pane -U +# bind-key -T copy-mode-vi 'C-i' select-pane -R +# bind-key -T copy-mode-vi 'C-k' select-pane -l + + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm'