tmux/.tmux.conf # ██████████ ████ ████ ██ ██ ██ ██ # ░░░░░██░░░ ░██░██ ██░██░██ ░██░░██ ██ # ░██ ░██░░██ ██ ░██░██ ░██ ░░██ ██ # ░██ ░██ ░░███ ░██░██ ░██ ░░███ # ░██ ░██ ░░█ ░██░██ ░██ ██░██ # ░██ ░██ ░ ░██░██ ░██ ██ ░░██ # ░██ ░██ ░██░░███████ ██ ░░██ # ░░ ░░ ░░ ░░░░░░░ ░░ ░░ # change prefix to Ctrl-a (like in gnu-screen) unbind C-b set-option -g prefix C-a bind-key C-a send-prefix # shell set -g default-command /usr/bin/zsh set -g default-shell /usr/bin/zsh # start with window 1 (instead of 0) set -g base-index 1 # start with pane 1 set -g pane-base-index 1 # screen mode set -g default-terminal "screen-256color" # source config file bind r source-file ~/.tmux.conf # history set -g history-limit 4096 # allow terminal scrolling set-option -g terminal-overrides 'xterm*:smcup@:rmcup@' # vim style copy paste mode unbind [ bind Escape copy-mode unbind p bind p paste-buffer bind-key -t vi-copy 'v' begin-selection bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard' # use vi mode setw -g mode-keys vi set -g status-keys vi setw -g utf8 on # use mouse in copy mode setw -g mode-mouse on # splitting unbind % bind h split-window -h unbind '"' bind v split-window -v # window switching #urxvt tab like window switching (-n: no prior escape seq) bind-key -n S-left prev bind-key -n S-right next bind-key -n C-left swap-window -t -1 bind-key -n C-right swap-window -t +1 # with mouse (click on pretty little boxes) set -g mouse-select-window on # colon : bind : command-prompt # panes set -g mouse-select-pane on set -g pane-border-fg black set -g pane-active-border-fg brightred #set -g pane-active-border-attr blink # resize panes with mouse (drag borders) set -g mouse-select-pane on set -g mouse-resize-pane on # status line set -g status-utf8 on set -g status-justify left set -g status-bg default set -g status-fg colour12 set -g status-interval 2 # messaging set -g message-fg black set -g message-bg yellow set -g message-command-fg blue set -g message-command-bg black #window mode setw -g mode-bg colour6 setw -g mode-fg colour0 # window status #setw -g window-status-format " #F#I:#W#F " #setw -g window-status-current-format " #F#I:#W#F " setw -g window-status-format "#[bg=colour8]#[fg=colour7] #I #[fg=color14]#[bg=colour0] #W " setw -g window-status-current-format "#[bg=colour6]#[fg=black] #I #[fg=black]#[bg=colour4] #W " setw -g window-status-current-bg colour0 setw -g window-status-current-fg colour11 setw -g window-status-current-attr dim setw -g window-status-bg green setw -g window-status-fg black setw -g window-status-attr dim setw -g window-status-content-bg colour0 setw -g window-status-content-fg colour11 setw -g window-status-content-attr blink # Info on right set -g status-right-length 30 set -g status-right '' # '#[fg=magenta]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour8]// #[fg=cyan]Tmux [#S]' # Info on left (no session display) set -g status-left '' # loud or quiet? set-option -g visual-activity on set-option -g visual-bell off set-option -g visual-content off set-option -g visual-silence off set-window-option -g monitor-activity off set-window-option -g monitor-content on set-option -g bell-action none # tmux clock set -g clock-mode-colour blue # some key-binding changes bind x kill-pane bind X next-layout bind Z previous-layout #unbind Left #bind C-Left resize-pane -L 2 #bind h select-pane -L #unbind Down #bind C-Down resize-pane -D 2 #bind j select-pane -D #unbind Up #bind C-Up resize-pane -U 2 #bind k select-pane -U #unbind Right #bind C-Right resize-pane -R 2 #bind l select-pane -R #unbind C-Left #bind C-h resize-pane -L 1 #unbind C-Down #bind C-j resize-pane -D 1 #unbind C-Up #bind C-k resize-pane -U 1 #unbind C-Right #bind C-l resize-pane -R 1 #unbind M-Left #bind C-H resize-pane -L 30 #unbind M-Down #bind C-J resize-pane -D 30 #unbind M-Up #bind C-K resize-pane -U 30 #unbind M-Right #bind C-L resize-pane -R 30 # default sessions - need to use 'tmux attach' #new-session weechat #new-window rtorrent #new-window mutt #new-window zsh