-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
78 lines (71 loc) · 3.09 KB
/
tmux.conf
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
# Source this file
bind-key ! source-file $HOME/.tmux.conf \; display '~/.tmux.conf sourced'
# Key bindings from screen
set-option -g prefix C-a
unbind-key C-b
bind-key a send-prefix
bind-key C-a last-window
unbind-key A
bind-key A command-prompt "rename-window %%"
unbind-key ^C
bind-key ^C new-window
unbind-key ^D
bind-key ^D detach
unbind-key ^N
bind-key ^N next-window
unbind-key ^P
bind-key ^P previous-window
unbind-key c
bind-key c new-window
unbind-key n
bind-key n next-window
unbind-key p
bind-key p previous-window
# Splits
bind-key v split-window -h -c "#{pane_current_path}"
bind-key h split-window -v -c "#{pane_current_path}"
# Resize
bind-key -r C-j resize-pane -D 1
bind-key -r C-k resize-pane -U 1
bind-key -r C-h resize-pane -L 5
bind-key -r C-l resize-pane -R 5
bind-key C-z resize-pane -Z
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?)(diff)?$'"
bind-key -n C-h if-shell "$is_vim" { send-keys C-h } { if-shell -F '#{pane_at_left}' {} { select-pane -L } }
bind-key -n C-j if-shell "$is_vim" { send-keys C-j } { if-shell -F '#{pane_at_bottom}' {} { select-pane -D } }
bind-key -n C-k if-shell "$is_vim" { send-keys C-k } { if-shell -F '#{pane_at_top}' {} { select-pane -U } }
bind-key -n C-l if-shell "$is_vim" { send-keys C-l } { if-shell -F '#{pane_at_right}' {} { select-pane -R } }
bind-key -T copy-mode-vi C-h if-shell -F '#{pane_at_left}' {} { select-pane -L }
bind-key -T copy-mode-vi C-j if-shell -F '#{pane_at_bottom}' {} { select-pane -D }
bind-key -T copy-mode-vi C-k if-shell -F '#{pane_at_top}' {} { select-pane -U }
bind-key -T copy-mode-vi C-l if-shell -F '#{pane_at_right}' {} { select-pane -R }
%hidden COLOR_ACTIVE_BG=color6
%hidden COLOR_ACTIVE_FG=color117
%hidden COLOR_ACTIVITY_FG=color3
%hidden COLOR_BELL_FG=color9
%hidden COLOR_BG=color234
%hidden COLOR_FG=color244
#
set-option -g allow-rename
set-option -g default-terminal "screen-256color"
set-option -g escape-time 1
set-option -g history-limit 1000000
set-option -g monitor-activity on
set-option -g mouse off
# Status bar
set-option -g status on
set-option -g status-bg ${COLOR_BG}
set-option -g status-fg ${COLOR_FG}
set-option -g status-interval 1
set-option -g status-interval 1
set-option -g status-justify centre
set-option -g status-left "#{?client_prefix,#[fg=${COLOR_E}]#[bg=${COLOR_ACTIVE_BG}],#[fg=${COLOR_BG}]#[bg=${COLOR_FG}]} #S #{?client_prefix,#[fg=${COLOR_ACTIVE_BG}],#[fg=${COLOR_FG}]}#[bg=${COLOR_BG}] #H"
set-option -g status-left-length 20
set-option -g status-right '%Y-%m-%d %H:%M:%S'
set-option -g window-status-activity-style fg=${COLOR_ACTIVITY_FG}
set-option -g window-status-bell-style fg=${COLOR_BELL_FG}
set-option -g window-status-current-format "#[fg=${COLOR_BG},bg=${COLOR_ACTIVE_BG}]#[fg=${COLOR_ACTIVE_FG},bg=${COLOR_ACTIVE_BG}] #I #W #[fg=${COLOR_ACTIVE_BG},bg=${COLOR_BG}]"
set-option -g window-status-format '#I #W '