summaryrefslogtreecommitdiff
path: root/tmux/.tmux.conf
blob: b06c8900792555864069209c5d2a30adbe564718 (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
# Tmux configuration for vim-like keybindings

setw -g mode-keys vi

unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection


# splitting windows: tmux definition of vertical/horizontal split is reversed
# to vim's
bind s split-window -v
bind v split-window -h

# vim-like resizing
bind < resize-pane -L 10
bind > resize-pane -R 10
bind + resize-pane -U 10
bind - resize-pane -D 10

# vim-like command prompt
bind : command-prompt

# Smart pane switching with awareness of vim splits
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"

setw -g clock-mode-colour colour117
setw -g mode-attr bold
setw -g mode-fg colour117
setw -g mode-bg colour238
set -g status-bg colour235
set -g status-fg colour248
set -g status-attr dim
set -g status-left '#[fg=colour187,bold]#H'
set -g status-right '#[fg=colour174]#(mpc) #[fg=colour187,bold]%H:%M:%S'
set -g status-right-length 80
setw -g window-status-current-fg colour223
setw -g window-status-current-bg colour237
setw -g window-status-current-attr bold
set -g message-attr bold
set -g message-fg colour117
set -g message-bg colour235