136 lines
4.5 KiB
Bash
136 lines
4.5 KiB
Bash
# afx.tmux.conf 2017-2020
|
|
|
|
# unbind all does not recover the default binds but we can list them
|
|
# and fill the 'gaps' with manual rebind in the conf file using this command:
|
|
# tmux -f /dev/null -L temp start-server \; list-keys
|
|
unbind-key -a
|
|
|
|
set-option -g prefix F2 # ctrl+b => F2
|
|
#bind-key a send-key M-a # alt+a = alt+a+a
|
|
bind-key Left send-key M-Left
|
|
bind-key Right send-key M-Right
|
|
|
|
#set tab names
|
|
set-window-option -g automatic-rename on
|
|
set-option -g set-titles on
|
|
set -g set-titles-string "#(tmux ls | awk -F: '{print $1}' | xargs | sed 's/\ / | /g')"
|
|
|
|
set -g base-index 1 #0 is too far from ` ;)
|
|
set -g status-keys vi
|
|
set -g history-limit 50000
|
|
set -sg escape-time 0 #No delay for escape key press
|
|
set -g terminal-overrides "screen.xterm-new" #disable italic in searches
|
|
setw -g mode-keys vi
|
|
#setw -g mode-mouse off #tmux 1.9
|
|
set-option -g mouse off #tmux 2.1
|
|
|
|
bind-key r source-file ~/.tmux.conf \; display-message "] afx' .tmux.conf v8.1 (⌐■_■) ["
|
|
bind-key R refresh-client
|
|
|
|
bind-key : command-prompt
|
|
bind-key c new-window
|
|
bind-key w list-window
|
|
bind-key l next-layout
|
|
bind-key Space set-window-option main-pane-height 60 \; select-layout even-vertical \; display-message "layout reset to even vertical"
|
|
bind-key d detach
|
|
bind-key t clock-mode
|
|
bind-key n command-prompt 'rename-window %%'
|
|
bind-key x confirm-before -p "kill-pane #W? (y/n)" kill-pane
|
|
bind-key X confirm-before -p "kill-window #W? (y/n)" kill-window
|
|
bind-key N command-prompt 'rename-session %%'
|
|
bind-key f command-prompt "find-window '%%'"
|
|
bind-key S set-window-option synchronize-panes on \; display-message "Sync panes ON"
|
|
bind-key s set-window-option synchronize-panes off \; display-message "Sync panes OFF"
|
|
bind-key i display-message
|
|
bind-key q last-window
|
|
bind-key w choose-window
|
|
bind-key Escape copy-mode -u
|
|
bind-key Up copy-mode -u
|
|
|
|
bind-key | split-window -h
|
|
bind-key \\ split-window -h
|
|
bind-key = split-window -v
|
|
bind-key - split-window -v
|
|
#bind-key < swap-window -t :-
|
|
#bind-key > swap-window -t :+
|
|
bind-key 0 select-window -t :0
|
|
bind-key 1 select-window -t :1
|
|
bind-key 2 select-window -t :2
|
|
bind-key 3 select-window -t :3
|
|
bind-key 4 select-window -t :4
|
|
bind-key 5 select-window -t :5
|
|
bind-key 6 select-window -t :6
|
|
bind-key 7 select-window -t :7
|
|
bind-key 8 select-window -t :8
|
|
bind-key 9 select-window -t :9
|
|
|
|
# pane selection with Ctrl+ArrowKeys
|
|
bind -n C-Left select-pane -L
|
|
bind -n C-Right select-pane -R
|
|
bind -n C-Up select-pane -U
|
|
bind -n C-Down select-pane -D
|
|
|
|
# pane resize with Shift+ArrowKeys
|
|
bind -n S-Left resize-pane -L
|
|
bind -n S-Right resize-pane -R
|
|
bind -n S-Up resize-pane -U
|
|
bind -n S-Down resize-pane -D
|
|
|
|
# switch tabs with Alt+Comma and Alt+Dot
|
|
bind -n M-, previous-window
|
|
bind -n M-. next-window
|
|
|
|
# loud or quiet?
|
|
set-option -g visual-activity off
|
|
set-option -g visual-bell off
|
|
set-option -g visual-silence off
|
|
set-window-option -g monitor-activity on
|
|
set-option -g bell-action none
|
|
|
|
# THEME
|
|
set -g default-terminal "screen-256color"
|
|
set -g status-position top
|
|
set -g status-left ''
|
|
#set -g status-utf8 on
|
|
# Basic status bar colors
|
|
set -g status-fg colour240
|
|
set -g status-bg colour233
|
|
set -g status-style bright
|
|
# Left side of status bar
|
|
set -g status-left-length 40
|
|
set -g status-left "#[fg=colour232,bg=colour39,bold] #I:#P #[fg=colour233,bg=colour240] #(id -nu) "
|
|
# Right side of status bar
|
|
set -g status-right-length 150
|
|
set -g status-right "#[fg=colour235,bg=colour233]#[fg=colour240,bg=colour235] %H:%M:%S #[fg=colour240,bg=colour235]#[fg=colour233,bg=colour240] %d-%b-%y #[fg=colour245,bg=colour240]#[fg=colour232,bg=colour245,bold] v8.1 "
|
|
# Window status
|
|
set -g window-status-format " #I:#W#F "
|
|
set -g window-status-current-format " #I:#W#F "
|
|
# Window with activity status
|
|
#set-window-option -g window-status-current-style bright
|
|
set-window-option -g window-status-current-style fg=colour232
|
|
set-window-option -g window-status-current-style bg=colour2
|
|
# Window separator
|
|
set -g window-status-separator ""
|
|
# Window status alignment
|
|
set -g status-justify centre
|
|
# Pane border
|
|
set-option -g pane-active-border-style bg=default
|
|
set-option -g pane-active-border-style fg=colour238
|
|
# Active pane border
|
|
set-option -g pane-active-border-style bg=default
|
|
set-option -g pane-active-border-style fg=colour39
|
|
# Pane number indicator
|
|
set -g display-panes-colour colour233
|
|
set -g display-panes-active-colour colour245
|
|
# Clock mode
|
|
set -g clock-mode-colour colour39
|
|
set -g clock-mode-style 24
|
|
# Message
|
|
set -g message-style bg=colour39
|
|
set -g message-style fg=red
|
|
# Command message
|
|
set -g message-command-style bg=colour233
|
|
set -g message-command-style fg=red
|
|
# Mode
|
|
set -g mode-style bg=colour39
|
|
set -g mode-style fg=colour232
|