scriptamanent/.tmux.conf

102 lines
2.5 KiB
Bash

# 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-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'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'