-
Notifications
You must be signed in to change notification settings - Fork 1
/
.tmux.conf
103 lines (82 loc) · 4.54 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
unbind C-b
set -g prefix C-a
bind C-a send-prefix
set -s default-terminal 'screen-256color'
set -g default-size 100x30
set -s history-file ~/.tmux_history
set -s prompt-history-limit 1000
set -g history-limit 10000
set -g mouse on
set -g set-titles on
set -g set-titles-string '#{?session_grouped,{#{session_group}#} ,}#S:#{?#{!=:#{window_name},},#{window_name},#{window_index}} ¦ #T'
set -g status-position top
set -g status-style fg=blue,reverse
set -g status-left '#{?session_grouped,{#{session_group}#} ,}[#S] '
set -g status-left-length 0
set -g status-right '#{?#{client_prefix},#{prefix},}#{?#{!=:#{window_flags},*},#[fg=magenta] #{s/\*//:window_flags} ,}'
set -g status-right-length 0
set -g status-right-style fg=yellow,reverse,bold
set -g status-keys vi
set -g window-status-format '#I#{?#{!=:#{window_name},},:#{window_name},}#[fg=magenta]#{s/^(.*)$/*\1:#{s/[-\*Z]//:window_flags}}'
set -g window-status-current-format '#I#{?#{!=:#{window_name},},:#{window_name},}#[fg=magenta,reverse]#{s/^(.*)$/*\1:#{s/[-\*Z]//:window_flags}}'
set -g window-status-style fg=cyan
set -g window-status-current-style noreverse,bold
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
set -g automatic-rename on
set -g automatic-rename-format '#(shuf "$HOME/.local/share/dict/eff-diceware-short-1" | head -1 | xargs tmux rename-window -t #{window_id})'
set -g message-style fg=magenta,reverse
set -g message-command-style fg=magenta,reverse,bold
set -g display-time 0
set -g silence-action any
set -g visual-activity both
set -g visual-silence both
set -g pane-border-format '(#P) #{s/^#{user}@#h#{l::}//:pane_title}#{?#{==:#{pane_current_command},#{?#{&&:#{!=:#{pane_start_command},},#{==:#{b:pane_start_command},#{b:default-command}}},#{b:default-command},#{b:default-shell}}},, <#{pane_current_command}>}#[align=right]#{?#{==:#{pane_mode},},,#{?#{pane_active},#[fg=magenta],#[fg=brightgreen]}[#{pane_mode}]}#{?#{pane_dead},#{?#{pane_active},#[fg=red],#[fg=brightred]}!dead#{?#{&&:#{!=:#{pane_dead_status},0},#{!=:#{pane_dead_status},}}, (exit=#{pane_dead_status}),}#{?#{!=:#{pane_dead_signal},}, (sig=#{pane_dead_signal}),},}'
set -g pane-border-lines double
set -g pane-border-indicators both
set -g pane-border-status top
set -g pane-border-style fg=brightblue,reverse
set -g pane-active-border-style fg=brightmagenta,reverse,bold
set -g main-pane-width 50%
set -g main-pane-height 50%
set -g fill-character '¦'
set -g popup-border-lines heavy
set -g popup-border-style fg=green
set -g display-panes-color blue
set -g display-panes-active-color magenta
set -g display-panes-time 2000
set -g clock-mode-colour black
set -g clock-mode-style 24
set -g remain-on-exit-format ''
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
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind '"' split-window -c '#{pane_current_path}'
bind % split-window -h -c '#{pane_current_path}'
bind c new-window -c '#{pane_current_path}'
set -g mode-keys vi
set -g mode-style fg=cyan,reverse,bold
if 'command -v xclip' {set copy-command 'xclip -sel c -i'}
if 'command -v pbcopy' {set copy-command 'pbcopy'}
bind -T copy-mode-vi v if -F '#{selection_present}' {if -F '#{rectangle_toggle}' {} {send -X clear-selection}} {send -X begin-selection}\; send -X rectangle-off
bind -T copy-mode-vi C-v if -F '#{selection_present}' {if -F '#{rectangle_toggle}' {send -X clear-selection} {}} {send -X begin-selection}\; send -X rectangle-on
bind -T copy-mode-vi y send -X copy-pipe
bind -T copy-mode-vi d send -X copy-pipe-and-cancel
bind -T copy-mode-vi Y if -F '#{selection_present}' {if -F '#{==:#{selection_start_y},#{selection_end_y}}' {send -X copy-pipe-line} {send -X copy-pipe}} {send -X copy-pipe-end-of-line}
bind -T copy-mode-vi D if -F '#{selection_present}' {send -X copy-pipe-line-and-cancel} {send -X copy-pipe-end-of-line-and-cancel}
bind -T copy-mode-vi a send -X append-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
bind -T copy-mode-vi DoubleClick1Pane select-pane\; send -X select-word
bind -T copy-mode-vi TripleClick1Pane select-pane\; send -X select-line
bind -n SecondClick1Pane select-pane -t =\; if -F '#{||:#{pane_in_mode},#{mouse_any_flag}}' {send -M} {copy-mode; send -X select-word}
unbind DoubleClick1Pane
bind -n TripleClick1Pane select-pane -t =\; if -F '#{||:#{pane_in_mode},#{mouse_any_flag}}' {send -M} {copy-mode; send -X select-line}
set -g copy-mode-match-style fg=brightmagenta,reverse
set -g copy-mode-current-match-style fg=magenta,reverse
set -g copy-mode-mark-style fg=cyan,reverse,bold