Created
September 1, 2020 03:22
-
-
Save abhirup-dev/930347adcdaa64a118e10392030154bd to your computer and use it in GitHub Desktop.
Quick SSH tmux config
This file contains 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
unbind C-b | |
set -g prefix C-z | |
bind-key C-a send-prefix | |
# split panes using | and - | |
bind | split-window -h -c "#{pane_current_path}" | |
bind - split-window -v -c "#{pane_current_path}" | |
bind c new-window -c "#{pane_current_path}" | |
unbind '"' | |
unbind % | |
bind N new | |
# switch panes using Alt-arrow without prefix | |
bind -n M-Left select-pane -L | |
bind -n M-Right select-pane -R | |
bind -n M-Up select-pane -U | |
bind -n M-Down select-pane -D | |
bind -n M-h select-pane -L | |
bind -n M-l select-pane -R | |
bind -n M-k select-pane -U | |
bind -n M-j select-pane -D | |
bind m resize-pane -Z | |
# reload config | |
# Enable mouse mode (tmux 2.1 and above) | |
set -g mouse on | |
###################### | |
### DESIGN CHANGES ### | |
###################### | |
# loud or quiet? | |
set -g visual-activity off | |
set -g visual-bell off | |
set -g visual-silence off | |
setw -g monitor-activity off | |
set -g bell-action none | |
## VI mode (https://sanctum.geek.nz/arabesque/vi-mode-in-tmux/) | |
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-and-cancel | |
## Overriding copy-mode binding | |
bind -n 'PageUp' copy-mode | |
# source-file ~/.tmux/plugins/tmux-themepack/basic.tmuxtheme | |
# set -g @plugin 'mattdavis90/base16-tmux' | |
# set -g @colors-base16 'default-dark' | |
# set -g @plugin 'dracula/tmux' | |
# neovim colors in tmux | |
## only this line might not be enough | |
set -g default-terminal "xterm-256color" | |
## Needs this line also to overrides the default color | |
set-option -ga terminal-overrides ",xterm-256color:RGB" # older tmux? replace "RGB" with "Tc" | |
# set-default colorset-option -ga terminal-overrides ",xterm-256color:Tc" | |
## For better ESC speed in vim | |
set-option -sg escape-time 10 | |
# # Enabling copy on WSL | |
# # bind -n M-w run -b "tmux show-buffer | clip.exe" | |
# | |
# # List of plugins | |
# set -g @plugin 'tmux-plugins/tpm' | |
# set -g @plugin 'tmux-plugins/tmux-yank' | |
# set -g @plugin 'tmux-plugins/tmux-resurrect' | |
# set -g @plugin 'tmux-plugins/tmux-continuum' | |
# | |
# run-shell ~/.tmux/plugins/tmux-yank/yank.tmux | |
# run-shell ~/.tmux/plugins/tmux-resurrect/resurrect.tmux | |
# run-shell ~/.tmux/plugins/tmux-continuum/continuum.tmux | |
# | |
# set -g @yank_with_mouse on | |
# set -g @continuum-restore 'on' | |
# | |
# run -b '~/.tmux/plugins/tpm/tpm' | |
# # for vim | |
# set -g @resurrect-strategy-vim 'session' | |
# # for neovim | |
# set -g @resurrect-strategy-nvim 'session' | |
# | |
# Send the same command to all panes/windows/sessions | |
# Source: https://scripter.co/command-to-every-pane-window-session-in-tmux/ | |
bind E command-prompt -p "Command:" \ | |
"run \"tmux list-panes -a -F '##{session_name}:##{window_index}.##{pane_index}' \ | |
| xargs -I PANE tmux send-keys -t PANE '%1' Enter\"" | |
# Send command only to current session | |
bind C-e command-prompt -p "Command:" \ | |
"run \"tmux list-panes -s -F '##{session_name}:##{window_index}.##{pane_index}' \ | |
| xargs -I PANE tmux send-keys -t PANE '%1' Enter\"" | |
# Start window numbering at 1 | |
set -g base-index 1 | |
bind -r [ switch-client -p | |
bind -r ] switch-client -n | |
# status bar theme - from https://gist.github.com/rajanand02/9407361 | |
set -g status-bg 'colour235' | |
set -g message-command-fg 'colour222' | |
set -g status-justify 'centre' | |
set -g status-left-length '100' | |
set -g status 'on' | |
set -g pane-active-border-fg 'colour154' | |
set -g message-bg 'colour238' | |
set -g status-right-length '100' | |
set -g status-right-attr 'none' | |
set -g message-fg 'colour222' | |
set -g message-command-bg 'colour238' | |
set -g status-attr 'none' | |
set -g status-utf8 'on' | |
set -g pane-border-fg 'colour238' | |
set -g status-left-attr 'none' | |
setw -g window-status-fg 'colour121' | |
setw -g window-status-attr 'none' | |
setw -g window-status-activity-bg 'colour235' | |
setw -g window-status-activity-attr 'none' | |
setw -g window-status-activity-fg 'colour154' | |
setw -g window-status-separator '' | |
setw -g window-status-bg 'colour235' | |
set -g status-left '#[fg=colour232,bg=colour154] #S #[fg=colour154,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #W #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] #(whoami) #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' | |
set -g status-right '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] %r ' | |
# to see custom timezone https://stackoverflow.com/a/39868365/9587133 | |
setw -g window-status-format '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[default] #I #W #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]' | |
setw -g window-status-current-format '#[fg=colour235,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #I #W #F #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment