-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
86 lines (67 loc) · 2.61 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
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @open 'C-o'
set -g @open-editor 'o'
run '~/.tmux/plugins/tpm/tpm'
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",alacritty:RGB:Tc"
set -sa terminal-overrides ',kitty:cnorm=\E[?12h\E[?25h'
# set -ga terminal-overrides ",screen-256color:Tc"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colors - needs tmux-3.0
set -sg escape-time 10
set-window-option -g automatic-rename on
set-option -g set-titles on
set -g base-index 1
set -g bell-action none
set -g history-limit 50000
set -g display-time 4000
set -g status-style 'fg=#f8f8f2,bg=#44475a'
if-shell 'test "$SSH_CONNECTION"' 'set window-status-current-style fg=black,bg=red'
set -g status-left "#[fg=black bold,bg=green] #{session_name} #[fg=default,bg=default] "
set -g status-right "#[fg=black bold,bg=green] #T "
setw -g window-status-current-style 'fg=#f8f8f2 bold'
setw -g window-status-current-format '#I:#[fg=default]#W#[fg=green]#F'
setw -g window-status-style 'fg=#e6e6e6'
setw -g window-status-format '#I:#W#[fg=magenta]#{?#F,#F, }'
set-option -g mouse on
setw -g mode-keys vi
unbind C-b
set -g prefix M-a
bind-key M-a send-prefix
bind R source-file ~/.tmux.conf\; display "Sourced!"
bind-key t set-option status
bind x confirm-before -p "kill pane #P? (y/n)" kill-pane
bind X confirm-before -p "kill window #W? (y/n)" kill-window
bind C-x confirm-before -p "kill session #S? (y/n)" kill-session
bind -n M-l select-pane -t :.+
bind -n M-h select-pane -t :.-
bind u swap-pane
unbind \" #"
unbind %
bind ';' split-window -h -c '#{pane_current_path}'
bind C new-window -c '#{pane_current_path}'
set-hook -g window-linked 'selectl main-horizontal'
set-hook -g after-split-window 'selectl #{window_layout}'
set-hook -g after-kill-pane 'selectl #{window_layout}'
set-hook -g pane-exited 'selectl #{window_layout}'
bind e selectl '831d,192x47,0,0{50x47,0,0,31,90x47,51,0,36,50x47,142,0,37}'
unbind p
bind -n M-k select-wind -t :-
unbind n
bind -n M-j select-wind -t :+
unbind (
bind -r k switch-client -p
unbind )
bind -r j switch-client -n
unbind L
bind -r o last
bind -r O switch-client -l
bind n new-session
bind M-a copy-mode
bind p paste-buffer
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind -T copy-mode-vi Y send -X copy-pipe "reattach-to-user-namespace pbcopy"
bind -T copy-mode-vi Escape send -X cancel