tmux_config
TMUX CONFIG
---------------------
Configuration
---------------------
-- general -------------------------------------------------------------------
set -g default-terminal "screen-256color" # colors! setw -g xterm-keys on set -s escape-time 10 # faster command sequences set -sg repeat-time 600 # increase repeat timeout set -s focus-events on
set -g prefix2 C-a # GNU-Screen compatible prefix bind C-a send-prefix -2
set -q -g status-utf8 on # expect UTF-8 (tmux < 2.2) setw -q -g utf8 on
set -g history-limit 5000 # boost history
-- urlview -------------------------------------------------------------------
bind U run "cut -c3- ~/.tmux.conf | sh -s _urlview #{pane_id}"
remap prefix from 'C-b' to 'C-a'-----------------------------------------------
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
split panes using | and -
bind split-window -h bind - split-window -v unbind '"' unbind %
0 is too far from ` ;)
set -g base-index 1
reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf
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
Increase scrollback history limit
set -g history-limit 1500
Enable mouse mode (tmux 2.1 and above)
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'" bind -n WheelDownPane select-pane -t= \; send-keys -M bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M bind -T copy-mode-vi C-WheelUpPane send-keys -X halfpage-up bind -T copy-mode-vi C-WheelDownPane send-keys -X halfpage-down bind -T copy-mode-emacs C-WheelUpPane send-keys -X halfpage-up bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down
To copy, left click and drag to highlight text in yellow,
once you release left click yellow text will disappear and will automatically be available in clibboard
# Use vim keybindings in copy mode
setw -g mode-keys vi
Update default binding of Enter
to also use copy-pipe
Enter
to also use copy-pipeunbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c" bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
don't rename windows automatically
set-option -g allow-rename off
bind Enter copy-mode # enter copy mode
run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true' run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true' run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true' run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true' run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi H send -X start-of-line 2> /dev/null || true' run -b 'tmux bind -t vi-copy L end-of-line 2> /dev/null || true' run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true'
Open Panes
bind-key M-h new-window -n hax \; \
split-window -v -p 50 -t 1 hax \; \
send-keys -t hax 'tmux select-pane -P 'fg=Blue'' 'Enter' \; \
split-window -h -p 50 -t 2 hax \; \
send-keys -t hax 'tmux select-pane -P 'fg=Purple'' 'Enter' \; \
THEME
List of plugins
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'nhdaly/tmux-better-mouse-mode' set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-copycat' set -g @plugin 'tmux-plugins/tmux-open'
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'
Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
Last updated
Was this helpful?