feat(.tmux.conf): add custom tmux configuration for improved usability and productivity

This commit is contained in:
David Ibia
2024-04-29 01:56:07 +01:00
parent b236facf75
commit b1be147fc3

75
.tmux.conf Normal file
View File

@@ -0,0 +1,75 @@
set -g mouse on
bind r source-file ~/.tmux.conf
set-option -sa terminal-features ',xterm-kitty:RGB'
set-option -sg escape-time 10
set-option -g focus-events on
set-window-option -g mode-keys vi
set-option -g renumber-windows on
# Allow passthrough
set -gq allow-passthrough on
set -g visual-activity off
# Key Bindings
# Auto Source tmux.conf
unbind r
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# Set binding for searching with / and ?
bind-key / copy-mode \; send-key ?
# Setting up vi binds for tmux copy mode
bind-key -T copy-mode-vi "v" send-keys -X begin-selection
bind-key -T copy-mode-vi "y" send-keys -X copy-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
# Setting up vertical split with |
unbind %
bind | split-window -h -c '#{pane_current_path}'
# Set kill pane to Shift + Option + X
bind -n M-X kill-pane
# Setting up horizontal split with -
unbind '"'
bind - split-window -v -c '#{pane_current_path}'
# Setting up window movement with leader key + Left/Right arrow
bind Left swap-window -t -1\; select-window -t -1
bind Right swap-window -t +1\; select-window -t +1
# Setting up pane resize with hjkl
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
bind -r h resize-pane -L 5
# Setting up pane minimize/maximize with m
bind -r m resize-pane -Z
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'MunifTanjim/tmux-mode-indicator'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-dir "~/.tmux/resurrect"
set -g @resurrect-capture-pane-contents 'on'
set -g @dracula-show-ssh-session-port true
set -g @plugin "dracula/tmux"
set -g @dracula-plugins "tmux-ram-usage attached-clients"
set -g @dracula-show-powerline true
set -g @dracula-show-flags true
set -g @dracula-show-left-icon session
set -g status-position top
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'