Last active
June 13, 2024 04:47
-
-
Save bphkns/883e6f2b11da13efbcd417fe04c9d945 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set -g default-terminal "screen-256color" | |
| set -g prefix C-a | |
| unbind C-b | |
| bind-key C-a send-prefix | |
| unbind % | |
| bind | split-window -h | |
| unbind '"' | |
| bind - split-window -v | |
| unbind r | |
| bind r source-file ~/.tmux.conf | |
| # Smart pane switching with awareness of Vim splits. | |
| # See: https://github.com/christoomey/vim-tmux-navigator | |
| # 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)?$'" | |
| bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' | |
| bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' | |
| bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' | |
| bind-key -n 'C-l' 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 -n 'C-Space' if-shell "$is_vim" 'send-keys C-Space' 'select-pane -t:.+' | |
| bind-key -T copy-mode-vi 'C-h' select-pane -L | |
| bind-key -T copy-mode-vi 'C-j' select-pane -D | |
| bind-key -T copy-mode-vi 'C-k' select-pane -U | |
| bind-key -T copy-mode-vi 'C-l' select-pane -R | |
| bind-key -T copy-mode-vi 'C-\' select-pane -l | |
| bind-key -T copy-mode-vi 'C-Space' select-pane -t:.+ | |
| bind -r m resize-pane -Z | |
| set -g mouse on | |
| set-window-option -g mode-keys vi | |
| bind-key -T copy-mode-vi 'v' send -X begin-selection | |
| bind-key -T copy-mode-vi 'y' send -X copy-selection | |
| unbind -T copy-mode-vi MouseDragEnd1Pane | |
| set -sg escape-time 10 | |
| #Plugins | |
| set -g @plugin 'tmux-plugins/tpm' | |
| set -g mode-style "fg=#82aaff,bg=#3b4261" | |
| set -g message-style "fg=#82aaff,bg=#3b4261" | |
| set -g message-command-style "fg=#82aaff,bg=#3b4261" | |
| set -g pane-border-style "fg=#3b4261" | |
| set -g pane-active-border-style "fg=#82aaff" | |
| set -g status "on" | |
| set -g status-justify "left" | |
| set -g status-style "fg=#82aaff,bg=#1e2030" | |
| set -g status-left-length "100" | |
| set -g status-right-length "100" | |
| set -g status-left-style NONE | |
| set -g status-right-style NONE | |
| set -g status-left "#[fg=#1b1d2b,bg=#82aaff,bold] #S #[fg=#82aaff,bg=#1e2030,nobold,nounderscore,noitalics]" | |
| set -g status-right "#[fg=#1e2030,bg=#1e2030,nobold,nounderscore,noitalics]#[fg=#82aaff,bg=#1e2030] #{prefix_highlight} #[fg=#3b4261,bg=#1e2030,nobold,nounderscore,noitalics]#[fg=#82aaff,bg=#3b4261] %Y-%m-%d %I:%M %p #[fg=#82aaff,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1b1d2b,bg=#82aaff,bold] #h " | |
| if-shell '[ "$(tmux show-option -gqv "clock-mode-style")" == "24" ]' { | |
| set -g status-right "#[fg=#1e2030,bg=#1e2030,nobold,nounderscore,noitalics]#[fg=#82aaff,bg=#1e2030] #{prefix_highlight} #[fg=#3b4261,bg=#1e2030,nobold,nounderscore,noitalics]#[fg=#82aaff,bg=#3b4261] %Y-%m-%d %H:%M #[fg=#82aaff,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1b1d2b,bg=#82aaff,bold] #h " | |
| } | |
| setw -g window-status-activity-style "underscore,fg=#828bb8,bg=#1e2030" | |
| setw -g window-status-separator "" | |
| setw -g window-status-style "NONE,fg=#828bb8,bg=#1e2030" | |
| setw -g window-status-format "#[fg=#1e2030,bg=#1e2030,nobold,nounderscore,noitalics]#[default] #I #W #F #[fg=#1e2030,bg=#1e2030,nobold,nounderscore,noitalics]" | |
| setw -g window-status-current-format "#[fg=#1e2030,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#82aaff,bg=#3b4261,bold] #I #W #F #[fg=#3b4261,bg=#1e2030,nobold,nounderscore,noitalics]" | |
| # tmux-plugins/tmux-prefix-highlight support | |
| set -g @prefix_highlight_output_prefix "#[fg=#ffc777]#[bg=#1e2030]#[fg=#1e2030]#[bg=#ffc777]" | |
| set -g @prefix_highlight_output_suffix "" | |
| set -g default-terminal "${TERM}" | |
| set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support | |
| set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0 | |
| run '~/.tmux/plugins/tpm/tpm' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment