.tmux.conf

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search

tmux is a BSD-licensed Terminal MUltipleXer. It allows users to run multiple "windows" through a single shell connection, and keep applications running when logged out. The default prefix for tmux is Ctl-b, and all other tmux commands are sent following that prefix. Please read $ man tmux for more info on default keybindings and commands.

echarlie's vim-like config

set -g prefix C-f
bind C-f send-prefix
unbind C-b

set -sg escape-time 1
set -g base-index 1
setw -g pane-base-index 1

#Mouse works as expected
# set -g mode-mouse on
# set -g mouse-select-pane on
# set -g mouse-resize-pane on
# set -g mouse-select-window on

setw -g monitor-activity on
set -g visual-activity on

set -g mode-keys vi
set -g history-limit 10000

# y and p as in vim
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
bind -t vi-copy 'Space' halfpage-down
bind -t vi-copy 'Bspace' halfpage-up

# extra commands for interacting with the ICCCM clipboard
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

# easy-to-remember split pane commands
#bind | split-window -h
#bind - split-window -v
#unbind '"'
#unbind %

# moving between panes with vim movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# moving between windows with vim movement keys
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+

# resize panes with vim movement keys
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
set-option -g lock-command vlock