]> Tony Duckles's Git Repositories (git.nynim.org) - dotfiles.git/blob - .tmux.conf
.screenrc: Don't run 'screen -ls' backtick
[dotfiles.git] / .tmux.conf
1 # -------------------------------------------------------------------
2 # Settings
3 # -------------------------------------------------------------------
4 setw -g utf8 on # use UTF-8
5 set -g history-limit 15000 # increase scrollback lines
6 set -g default-command 'bash' # no login shell
7 set -g renumber-windows on # renumber windows sequentially after closing any of them
8 setw -g monitor-activity on # monitor for activity in windows
9 set -g visual-activity on # display status line message for windows with activity (monitor-activity)
10 set -g aggressive-resize on # smart window resizing when multiple attached clients
11 set -sg escape-time 50 # shorter Esc/Alt disambiguation timeout
12
13 # -------------------------------------------------------------------
14 # Look and Feel
15 # -------------------------------------------------------------------
16 # update program titlebar caption
17 set -g set-titles on
18 set -g set-titles-string '[#S:#I.#P #H] #W'
19
20 # status bar
21 set -g status-utf8 on
22 set -g status-style none
23 set -g status-left ''
24 set -g status-right '#[fg=blue]#(whoami)@#h (#S:#I.#P)'
25 setw -g window-status-style 'fg=brightblack'
26 setw -g window-status-current-style 'bg=brightblack,bold,fg=brightwhite'
27
28 # pane borders
29 set -g pane-active-border-style 'fg=green'
30 set -g pane-border-style 'fg=black'
31
32 # -------------------------------------------------------------------
33 # Key Bindings
34 # -------------------------------------------------------------------
35 # act like GNU screen
36 unbind C-b
37 set -g prefix C-a
38 bind-key a send-prefix
39 bind-key A command-prompt "rename-window %%"
40 bind-key C-a last-window
41 bind-key C new-window
42 bind-key c new-window -n 'sh' # new window w/ default title
43 bind-key C-c new-window -n 'sh' # (same as C-a c)
44 bind-key C-d detach # (same as C-a d)
45 bind-key C-n next-window # (same as C-a n)
46 bind-key C-p previous-window # (same as C-a p)
47 bind-key Escape copy-mode
48 unbind-key Space
49
50 # vim style movement
51 setw -g mode-keys vi
52 bind-key h select-pane -L
53 bind-key j select-pane -D
54 bind-key k select-pane -U
55 bind-key l select-pane -R
56 bind-key J swap-pane -D
57 bind-key K swap-pane -U
58
59 # vim style window splitting
60 bind-key 's' split-window -v
61 bind-key 'v' split-window -h
62
63 # Shift+0-9 to select screens 10-19
64 bind-key ')' select-window -t :10
65 bind-key '!' select-window -t :11
66 bind-key '@' select-window -t :12
67 bind-key '#' select-window -t :13
68 bind-key '$' select-window -t :14
69 bind-key '%' select-window -t :15
70 bind-key '^' select-window -t :16
71 bind-key '&' select-window -t :17
72 bind-key '*' select-window -t :18
73 bind-key '(' select-window -t :19
74
75 bind-key R source-file ~/.tmux.conf
76 bind-key C-o select-pane -t :.+ # (same as C-a o)
77 bind-key m setw monitor-activity # toggle monitor-activity