-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
103 lines (80 loc) · 2.86 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# don't use escape key
set -sg escape-time 0
# don't use 'repeat" keys
# (causes delay annoyances with '~/.wryn/scwrypts/ssh/omni/tmux.conf')
set -sg repeat-time 0
set-option -g default-shell /bin/zsh
# quick reload
bind-key r source-file ~/.tmux.conf\; display "TMUX CONFIG RELOADED"
# force color
set -g default-terminal "tmux-256color"
# force utf-8
setw -gq utf8 on
set-option -gw xterm-keys on
# force vi
set-window-option -g mode-keys vi
set-window-option -g status-keys vi
# disable mouse-mode
set -g mouse off
# window options / color config
set -g status-style fg=brightmagenta,bg=black
set -g window-status-current-style fg=black,bg=brightmagenta
set -g status-right "#(cat /sys/class/power_supply/BAT[01]/capacity | head -n1)% | #[fg=magneta]%d %b %R | #(ip address 2>&1 | grep wlp0 | sed -n 's/^.*\\(192.[^/]*\\)\\/.*$/\\1/p') "
#####################################################################
# pane switch with vim-like controls
bind -n M-h select-pane -L
bind -n M-H send-keys C-b Left
bind -n M-j select-pane -D
bind -n M-J send-keys C-b Down
bind -n M-k select-pane -U
bind -n M-K send-keys C-b Up
bind -n M-l select-pane -R
bind -n M-L send-keys C-b Right
bind -n M-Left resize-pane -L 2
bind -n M-S-Left send-keys C-b C-Left
bind -n M-Down resize-pane -D 2
bind -n M-S-Down send-keys C-b C-Down
bind -n M-Up resize-pane -U 2
bind -n M-S-Up send-keys C-b C-Up
bind -n M-Right resize-pane -R 2
bind -n M-S-Right send-keys C-b C-Right
# alt tab for window shift
bind-key -n M-Tab next-window
bind-key -n M-n send-keys C-b n
bind-key -n M-BTab previous-window
bind-key -n M-p send-keys C-b p
# alt number for switch
bind-key -n M-1 select-window -t 0
bind-key -n M-2 select-window -t 1
bind-key -n M-3 select-window -t 2
bind-key -n M-4 select-window -t 3
bind-key -n M-5 select-window -t 4
bind-key -n M-6 select-window -t 5
bind-key -n M-7 select-window -t 6
bind-key -n M-8 select-window -t 7
bind-key -n M-9 select-window -t 8
# new window and split pane quickly
bind-key -n M-Enter new-window
bind-key -n M-c send-keys C-b c
bind-key -n M-v split-window -v
bind-key -n M-V send-keys M-v
bind-key -n M-b split-window -h
bind-key -n M-B send-keys M-b
bind-key -n M-q killp
bind-key -n M-Q send-keys M-q
bind-key -n M-z resize-pane -Z
bind-key -n M-Z send-keys M-z
# nested session with meta-a
bind-key -n M-a send-prefix
# rena[M]e session
bind-key -n M-m command-prompt -I "#S" "rename-session '%%'"
bind-key -n M-M send-keys M-m
# rename [w]indow
bind-key -n M-w command-prompt -I "#W" "rename-window '%%'"
bind-key -n C-M-w send-keys M-w
# toggle [r]eadonly session
bind-key -n M-r switch-client -r
bind-key -n C-M-r send-keys M-r
#####################################################################
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip'
#####################################################################