summaryrefslogtreecommitdiff
path: root/lib/tmux
blob: 2753dfb5bcc12036f0d84dbd5ab444fc07deab4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# vim: filetype=tmux
#
# More settings are in common.nix
#
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on

set -g xterm-keys on

setw -g mouse on
setw -g monitor-activity on

## Panes

# Split panes
bind-key | split-window -h
bind-key - split-window -v

# Send/join panes
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

# Use Alt-vim keys without prefix key to switch panes
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R

# Use Alt-vim capitalized keys without prefix key to resize panes
bind -n M-H resize-pane -L
bind -n M-J resize-pane -D
bind -n M-K resize-pane -U
bind -n M-L resize-pane -R

# Shift arrow to switch windows
bind -n S-Left  previous-window
bind -n S-Right next-window

# Set current window pane to 80 columns
bind-key E resize-pane -x 80

# cycle pane layout
bind-key N next-layout
bind-key P previous-layout

# Toggle synchronizing panes
bind-key y setw synchronize-panes

## Text manipulation

# vim-like copy/paste
setw -g mode-keys vi

bind [ copy-mode
bind ] paste-buffer

# copy/paste with xclip
bind-key -Tcopy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -sel clip -i'

# select buffer to paste from
bind Space choose-buffer

## Meta

# Reload tmux config
bind r source-file ~/.tmux.conf

# status line text
set -g status-left-length 30
set -g status-left ' {#(wemux status_users)}@#(hostname) | '
set -g status-right '~%Y.%m.%d..%H.%M'

# white-ish background with dark-grey text
set -g status-style bg=colour0,fg=colour13

# highlight current window
set -g window-status-current-style fg=colour0,bg=colour13

set -g window-status-format '#I) #W '
set -g window-status-current-format '#I) #W '