122 lines
3.7 KiB
Bash
122 lines
3.7 KiB
Bash
#
|
||
# Config
|
||
#
|
||
|
||
# Reset configuration
|
||
unbind-key -a
|
||
|
||
# Tmux use bash
|
||
#set-option -g default-shell /bin/bash
|
||
#set-option -g default-command "bash --rcfile /home/aruan/rc"
|
||
|
||
# Disable mouse support in tmux
|
||
# Who is using mouse anyway?
|
||
set -g mouse off
|
||
|
||
# Needed http://superuser.com/questions/360832/how-can-i-make-ctrlleft-right-keys-work-right-in-tmux
|
||
set-window-option -g xterm-keys on
|
||
|
||
# Status bar options
|
||
set-option -g status-bg black
|
||
set-option -g status-fg green
|
||
set-option -g status-interval 1
|
||
set-option -g status-justify left
|
||
set-option -g status-keys vi
|
||
set-option -g status-left "[#S]" # Session name on left
|
||
set-option -g status-left-length 15
|
||
set-option -g status-right "#H [%H:%M:%S %d.%m.%y]" # Date and host on right
|
||
set-option -g status-right-length 40
|
||
set-option -g default-terminal "screen-256color" # Recommended by tmux
|
||
set-option -g status-position top # Move status bar to the top
|
||
set-option -g window-status-current-style bright # active pane name in bold
|
||
|
||
# Windows options
|
||
# Renumber windows when we move them
|
||
set-option -g renumber-windows on
|
||
|
||
# Aggressive resize
|
||
set-window-option -g aggressive-resize on # Resize
|
||
set-window-option -g mode-keys vi # VI mode
|
||
set-option -s escape-time 0 # No wait on escape
|
||
|
||
|
||
# Reload config
|
||
# bind-key r source-file /etc/tmux/tmux-aruan.conf \; display-message "Config reloaded."
|
||
|
||
#
|
||
# Bindings
|
||
#
|
||
# bind-key -n --> prefix not needed
|
||
# bind-key --> prefix needed
|
||
|
||
bind-key : command-prompt
|
||
|
||
#
|
||
# Windows bindings
|
||
#
|
||
bind-key & confirm-before -p "kill-window #W? (y/n)" kill-window
|
||
bind-key -n C-n new-window \; rename-window "-"
|
||
bind-key c new-window \; rename-window "-"
|
||
bind-key -n F2 new-window \; rename-window "-"
|
||
bind-key -n F3 previous-window
|
||
bind-key -n F4 next-window
|
||
bind-key -n C-S-F3 swap-window -t :-1
|
||
bind-key -n C-S-F4 swap-window -t :+1
|
||
bind-key -n F6 detach
|
||
# Detach all other clients
|
||
bind-key -n S-F6 detach-client -a
|
||
bind-key -n F7 copy-mode
|
||
bind-key -n M-NPage copy-mode \; send-keys NPage
|
||
bind-key -n M-PPage copy-mode \; send-keys PPage
|
||
bind-key -n F8 command-prompt -p "(rename-window) " "rename-window '%%'"
|
||
bind-key -n C-F8 command-prompt -p "(rename-session) " "rename-session '%%'"
|
||
bind-key -n F9 last-window
|
||
# Select windows with alt+number
|
||
bind-key -n M-0 select-window -t 0
|
||
bind-key -n M-1 select-window -t 1
|
||
bind-key -n M-2 select-window -t 2
|
||
bind-key -n M-3 select-window -t 3
|
||
bind-key -n M-4 select-window -t 4
|
||
bind-key -n M-5 select-window -t 5
|
||
bind-key -n M-6 select-window -t 6
|
||
bind-key -n M-7 select-window -t 7
|
||
bind-key -n M-8 select-window -t 8
|
||
bind-key -n M-9 select-window -t 9
|
||
|
||
#
|
||
# Panes bindings
|
||
#
|
||
# Split panes
|
||
bind-key h split-window -v
|
||
bind-key v split-window -h
|
||
# Move between pane with arrow
|
||
bind-key -n S-left select-pane -L
|
||
bind-key -n S-right select-pane -R
|
||
bind-key -n S-up select-pane -U
|
||
bind-key -n S-down select-pane -D
|
||
# Next layout
|
||
bind-key -n C-space next-layout
|
||
# Synchronise panes
|
||
bind-key -n M-s set-window-option synchronize-panes
|
||
bind-key -n M-z resize-pane -Z
|
||
# Kill pane
|
||
bind-key x confirm-before -p "kill-pane #W? (y/n)" kill-pane
|
||
# Resize pane
|
||
bind-key -n C-S-up resize-pane -U 10
|
||
bind-key -n C-S-down resize-pane -D 10
|
||
bind-key -n C-S-left resize-pane -L 10
|
||
bind-key -n C-S-right resize-pane -R 10
|
||
|
||
#
|
||
# Misc
|
||
#
|
||
# Blinking status on change
|
||
set-option -g window-status-format " #{?window_activity_flag, #[fg=colour231]#[blink],#[fg=colour245]}#{?window_bell_flag,#[fg=colour01]#[blink],#[fg=colour245]}#I:#W "
|
||
set-option -g monitor-activity on
|
||
|
||
#pane border
|
||
set-option -g pane-border-style 'bg=colour235'
|
||
set-option -g pane-border-style 'fg=colour238'
|
||
set-option -g pane-active-border-style 'bg=colour235'
|
||
set-option -g pane-active-border-style 'fg=colour51'
|