Last active
March 3, 2024 22:09
-
-
Save ambling/c9a022992c98d941c20fd249179ac1c8 to your computer and use it in GitHub Desktop.
.tmux.conf
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
set -g mouse on | |
set-option -g history-limit 5000 | |
set -g base-index 1 | |
setw -g pane-base-index 1 | |
set -g renumber-windows on | |
# Do not exit copy mode after copy | |
# set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default | |
bind | split-window -hc "#{pane_current_path}" | |
bind - split-window -vc "#{pane_current_path}" | |
bind -r "<" swap-window -d -t -1 | |
bind -r ">" swap-window -d -t +1 | |
bind -r BSpace previous-window | |
bind c new-window -c "#{pane_current_path}" | |
# For OSX | |
# bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'" | |
# bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' | |
# bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' | |
# Copy to system clipboard | |
set -g mode-keys vi | |
set-option -s set-clipboard off | |
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 rectangle-toggle | |
unbind -T copy-mode-vi Enter | |
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel 'xclip -se c -i' | |
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -se c -i' | |
# These bindings are for X Windows only. If you're using a different | |
# window system you have to replace the `xsel` commands with something | |
# else. See https://github.com/tmux/tmux/wiki/Clipboard#available-tools | |
bind -T copy-mode DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
bind -T copy-mode-vi DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
bind -n DoubleClick1Pane select-pane \; copy-mode -M \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
bind -T copy-mode TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
bind -T copy-mode-vi TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
bind -n TripleClick1Pane select-pane \; copy-mode -M \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
bind -n MouseDown2Pane run "tmux set-buffer -b primary_selection \"$(xsel -o)\"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection" | |
# List of plugins | |
# Install tmp: git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
# For copy | |
set -g @plugin 'tmux-plugins/tmux-yank' | |
set -g @yank_action 'copy-pipe-no-clear' | |
bind -T copy-mode C-c send -X copy-pipe-no-clear "xsel -i --clipboard" | |
bind -T copy-mode-vi C-c send -X copy-pipe-no-clear "xsel -i --clipboard" | |
# Auto restore | |
set -g @plugin 'tmux-plugins/tmux-resurrect' | |
set -g @plugin 'tmux-plugins/tmux-continuum' | |
set -g @continuum-restore 'on' | |
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | |
run '~/.tmux/plugins/tpm/tpm' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment