]> git.phdru.name Git - dotfiles.git/blob - .tmux.conf
.tmux.conf: vim-like navigation
[dotfiles.git] / .tmux.conf
1 # Start window numbers at 1 to match keyboard order with tmux window order
2 set-option -g base-index 1
3 set-option -g pane-base-index 1
4 # Renumber windows sequentially after closing any of them
5 set-option -g renumber-windows on
6
7 # Pass [Ctrl]+[PgUp/PgDn]
8 set-window-option -g xterm-keys on
9
10 # Mouse
11 set-window-option -g mode-mouse on
12 set-option -g mouse-select-pane on
13 set-option -g mouse-resize-pane on
14 # Mouse can be used to select windows (by clicking in the status bar)
15 set-option -g mouse-select-window on
16
17 # Rather than constraining window size to the maximum size of any client
18 # connected to the *session*, constrain window size to the maximum size of any
19 # client connected to *that window*. Much more reasonable.
20 set-window-option -g aggressive-resize on
21
22 # Activity monitoring
23 set-option -g visual-activity on
24 set-window-option -g monitor-activity on
25
26 # Clock color
27 set-window-option -g clock-mode-colour black
28
29 # Attempt to set the client terminal title
30 set-option -g set-titles on
31 # Terminal emulator window title
32 set-option -g set-titles-string 'tmux #S.#I.#P #T' # session, window number, pane number, title
33
34 set-option -g message-style bg=black,fg=white
35
36 # Soften status bar color from black on harsh green to black on cyan
37 set-option -g status-style bg=cyan,fg=black
38
39 set-option -g pane-active-border-style bg=default,fg=red
40 set-option -g pane-border-style bg=default,fg=blue
41
42 set-window-option -g mode-style bg=black
43
44 set-window-option -g window-status-activity-style fg=yellow
45 set-window-option -g window-status-bell-style fg=red
46 set-window-option -g window-status-content-style fg=magenta
47 set-window-option -g window-status-current-style bg=blue,fg=white
48 set-window-option -g window-status-style bg=cyan,fg=black
49
50 set-option -g status-left '[#S.#I.#P]'
51
52 # set-option -g status-interval 5
53 # set-option -g status-right '%H:%M'
54 set-option -g status-right ''
55
56 # Increase scrollback lines
57 set-option -g history-limit 1000
58
59 # <prefix> R to reload config without restart
60 bind-key R source-file ~/.tmux.conf \; display "Reloaded!"
61
62 # vim-like navigation
63 unbind-key h; bind-key h select-pane -L
64 unbind-key j; bind-key j select-pane -D
65 unbind-key k; bind-key k select-pane -U
66 unbind-key l; bind-key l select-pane -R
67
68 bind H resize-pane -L 10
69 bind J resize-pane -D 10
70 bind K resize-pane -U 10
71 bind L resize-pane -R 10
72
73 # Set the command prefix to match GNU screen (CTRL+a)
74 # set-option -g prefix C-a
75 #
76 # Use C-a C-a key to send prefix instead of the default
77 # unbind-key C-b
78 # bind-key C-a send-prefix
79 #
80 # <prefix> C-a for last-window
81 # bind-key C-a last-window
82
83 # Use vertical and horizontal chars to split the screen
84 bind-key | split-window -h
85 bind-key - split-window -v