summaryrefslogtreecommitdiff
path: root/lib/tmux
blob: 01b144056c884dab9ed719c9871f7cd6e0c30fd4 (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
# 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

# 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-arrow keys without prefix key to switch panes
bind -n M-Left  select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up    select-pane -U
bind -n M-Down  select-pane -D

# 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 8 resize-pane -x 80

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

## 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 ' #(whoami)@#(hostname) | '
set -g status-right '~%Y.%m.%d..%H.%M  '

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