107 lines
2.6 KiB
Plaintext
107 lines
2.6 KiB
Plaintext
# Setup tmux
|
|
#
|
|
# Authors:
|
|
# Corrado Primier
|
|
#
|
|
# Loosely based on
|
|
# dotphiles config by Ben O'Hara <bohara@gmail.com>
|
|
# byobu's settings (http://byobu.co/)
|
|
#
|
|
|
|
# 0 is too far from ` ;)
|
|
set-option -g base-index 1
|
|
set-window-option -g pane-base-index 1
|
|
|
|
set-option -g default-command $SHELL
|
|
set-option -g default-shell $SHELL
|
|
|
|
# Automatically set window title
|
|
set-window-option -g automatic-rename on
|
|
set-option -g set-titles on
|
|
set-option -g set-titles-string '[#S:#I #h] #W'
|
|
|
|
set -g default-terminal "screen-256color"
|
|
set -g terminal-features "256"
|
|
set -g terminal-overrides 'xterm:colors=256'
|
|
set -g status-keys vi
|
|
set -g history-limit 100000
|
|
|
|
# Use vi mode
|
|
setw -g mode-keys vi
|
|
|
|
# Disable mouse control by default
|
|
setw -g mouse off
|
|
|
|
# Enter copy mode like byobu does
|
|
bind-key -n M-PPage copy-mode -u
|
|
|
|
# Toggle mouse mode to allow mouse copy/paste
|
|
# set mouse on with prefix m
|
|
bind m \
|
|
set -g mouse on\;\
|
|
display 'Mouse: ON'
|
|
# set mouse off with prefix M
|
|
bind M \
|
|
set -g mouse off\;\
|
|
display 'Mouse: OFF'
|
|
|
|
# Sane window spltting
|
|
bind-key | split-window -h
|
|
bind-key - split-window -v
|
|
|
|
# Sane pane resizing
|
|
bind-key -n M-S-Down resize-pane -D
|
|
bind-key -n M-S-Up resize-pane -U
|
|
bind-key -n M-S-Left resize-pane -L
|
|
bind-key -n M-S-Right resize-pane -R
|
|
bind-key -n S-F11 resize-pane -Z
|
|
|
|
# Rather than constraining window size to the maximum size of any client
|
|
# connected to the *session*, constrain window size to the maximum size of any
|
|
# client connected to *that window*. Much more reasonable.
|
|
setw -g aggressive-resize on
|
|
|
|
# Use Shift-arrow keys without prefix key to switch panes
|
|
bind -n S-Left select-pane -L
|
|
bind -n S-Right select-pane -R
|
|
bind -n S-Up select-pane -U
|
|
bind -n S-Down select-pane -D
|
|
|
|
# Alt-arrow to switch windows
|
|
bind -n M-Left previous-window
|
|
bind -n M-Right next-window
|
|
|
|
# Renumber windows when closing one
|
|
set -g renumber-windows on
|
|
|
|
# Easily toggle synchronization (mnemonic: e is for echo)
|
|
bind e setw synchronize-panes
|
|
|
|
# No delay for escape key press
|
|
set -sg escape-time 0
|
|
|
|
# Quick reload tmux config
|
|
bind r source-file ~/.tmux.conf \; display-message 'Reloaded ~/.tmux.conf!'
|
|
|
|
# Set window notifications
|
|
setw -g monitor-activity on
|
|
set -g visual-activity off
|
|
|
|
# Enable Ctrl-arrow navigation
|
|
setw -g xterm-keys on
|
|
|
|
# TMUX Plugin Manager
|
|
# Remember to git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
|
|
# Visual theme
|
|
#set -g @plugin 'jimeh/tmux-themepack'
|
|
#set -g @themepack 'powerline/block/cyan'
|
|
|
|
# Base16 integration
|
|
set -g @plugin 'tinted-theming/base16-tmux'
|
|
set -g @colors-base16 'monokai'
|
|
|
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
run -b '~/.tmux/plugins/tpm/tpm'
|