Skip to content

Instantly share code, notes, and snippets.

@bcawrse
Last active Aug 30, 2021
Embed
What would you like to do?
tmux configuration file
## Use vi keys for scrolling etc.
set-window-option -g mode-keys vi
## Extend how long pane #s are displayed
## Useful for `ctrl-b q` # to switch between panes
set -g display-panes-time 4000
## Auto renumbers windows when they are deleted
set -g renumber-windows on
## alternatively, this command will reorder windows
# move-window -r OR movew -r
## copy / paste stuffs
bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi v send-keys -X rectangle-toggle
## swap window left / right with ctrl+b Shift_Left & Shift_Right
bind-key -r S-Left swap-window -t -1\; select-window -t -1
bind-key -r S-Right swap-window -t +1\; select-window -t +1
## Don't forget break-pane will break pane into new window and has default bind-key !
## Join windows: <prefix> s, <prefix> j
## USE K INSTEAD OF S BECAUSE OF TMUX RESTORE CONFLICGS
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key k command-prompt -p "send pane to:" "join-pane -t '%%'"
## More Join / Break pane shortcut details.
## https://unix.stackexchange.com/questions/14300/moving-tmux-pane-to-window#answer-30576
## Need to write some swap-pane shortcuts..
## https://superuser.com/questions/879190/how-does-one-swap-two-panes-in-tmux
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-ressurect'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com:user/plugin'
# set -g #plugin 'git@bitbucket.com:user/plugin'
# Vim-style pane switching
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
## swap to last window with <prefix>+: Shift l
bind-key L last-window
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
## NOTES
# Change starting dir in session
# <prefix>+: attach -c <default-starting-directory>
# Also outside of tmux
# tmux attach-session -t <session> -c <default-starting-directory>
# Reload tmux conf
# <prefix>+: source-file ~/.tmux.conf
# Also outside of tmux
# tmux source-file ~/.tmux.conf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment