annotate dot_tmux.conf @ 268:0ba6e190eb62

Update tmux colors
author zegervdv <zegervdv@me.com>
date Fri, 12 Jun 2020 12:23:01 +0200
parents d726921aaabe
children 88d7010b5694
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 set-environment -g PATH "/project/asic_fpga/tools/tmux/bin:$PATH"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
2
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 # Nested TMUX sessions (from
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 # https://medium.freecodecamp.org/tmux-in-practice-local-and-nested-remote-tmux-sessions-4f7ba5db8795)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 bind -T root F12 \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 set prefix None \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 set key-table off \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 set status-right "#[fg=colour0,bg=colour1] DISABLED #[fg=colour3,bg=colour0] #{session_name}#[fg=colour1] | #[fg=colour2]%d %b %l:%M %p "
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 refresh-client -S \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
10
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 bind -T off F12 \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 set -u prefix \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 set -u key-table \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 set -u status-right \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 refresh-client -S
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 # improve colors
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 set -g default-terminal 'screen-256color'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 set-option -g allow-rename off
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 set-window-option -g automatic-rename off
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
20
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 # Status bar
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 set -g set-titles 'off'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 set -g status-position 'top'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 set -g status-left ""
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 set -g status-right-length 200
268
0ba6e190eb62 Update tmux colors
zegervdv <zegervdv@me.com>
parents: 257
diff changeset
26 set -g status-right "#[fg=colour0,bg=colour5] vsim #[fg=colour0,bg=colour15] #(ps hux -u $(whoami) | grep 'vish' | grep -v -E 'grep|view' | wc -l) #[fg=colour3,bg=colour0] #[fg=colour0,bg=colour3] load #[fg=colour0,bg=colour15] #(cat /proc/loadavg | awk '{ print $3; }' | xargs printf '%2.2f') #[fg=colour3,bg=colour0] #[fg=colour0,bg=colour2] mem #[fg=colour0,bg=colour15] #(ps haux | awk -v user=$(whoami) '$1 ~ user { sum += $4 } END { print sum; }' | xargs printf '%2.2f')% #[fg=colour3,bg=colour0] #[fg=colour0,bg=colour1] time #[fg=colour0,bg=colour15] %d %b %l:%M %p #[fg=colour3,bg=colour0] #[fg=colour15,bg=colour8] #{session_name} #[fg=colour0,bg=colour0] "
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
27
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 # Tabs
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 setw -g window-status-format " #I #W "
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 setw -g window-status-style fg=colour15
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
31 setw -g window-status-current-format " #I #W "
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 setw -g window-status-current-style fg=red
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
33
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
34 set -g status-justify "left"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 set -g status-bg "colour0"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
36 set -g status-fg "colour7"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 set -g message-bg "colour0"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 set -g message-fg "colour8"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
39
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 setw -g window-status-bell-style "fg=colour0,bg=colour5"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
41
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 bind s split-window -v -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 bind v split-window -h -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 bind a split-window -v -p 15 -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 # bind c new-window -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 bind c command-prompt -p "Name:" "new-window -c \"#{pane_current_path}\" -n %%"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
47
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 # Enable delete in command sequencer
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 bind h send-keys 'c-h'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
50
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 # Open man pages in split
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 bind @ command-prompt -p "Man:" "split-window -v 'exec man %%'"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
53
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 # act like vim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 bind Escape copy-mode
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 set-window-option -g mode-keys vi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 bind-key -T copy-mode-vi 'v' send -X begin-selection
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 bind-key -T copy-mode-vi 'V' send -X select-line
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 unbind-key -T copy-mode-vi MouseDragEnd1Pane
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 unbind -T copy-mode-vi MouseDragEnd1Pane
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 # unbind -t vi-copy MouseDragEnd1Pane
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
64
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 # Smart pane switching with awareness of Vim splits.
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 # See: https://github.com/christoomey/vim-tmux-navigator
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 bind-key -T copy-mode-vi C-h select-pane -L
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 bind-key -T copy-mode-vi C-j select-pane -D
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 bind-key -T copy-mode-vi C-k select-pane -U
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 bind-key -T copy-mode-vi C-l select-pane -R
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 bind-key -T copy-mode-vi C-\ select-pane -l
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 #act like GNU screen
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 unbind C-b
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 set -g prefix C-Space
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 bind Space send-prefix
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 set -g escape-time 20
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
84
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 # start window numbers at 1 to match keyboard order with tmux window order
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 set -g base-index 1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
87
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 # renumber windows sequentially after closing any of them
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 set -g renumber-windows on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
90
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 bind-key r source ~/.tmux.conf
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
92
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 # Fix hightlighting in less
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 set -ga terminal-overrides ',*:sitm@,ritm@'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
95
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 # increase scrollback lines
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 set -g history-limit 100000
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
98
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 setw -g mouse on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
100
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 set -g focus-events on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
102
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 # Allow for visual bell when a command completes
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 set-window-option -g visual-bell on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 set-window-option -g bell-action other
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
106
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 set-option -g default-shell "/bin/bash"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 # set-option -g default-command "/bin/bash"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 # set-environment -g SHELL "/bin/bash"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
110 # set-environment -g PATH "$PATH:/home/zvandeva/bin"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
111
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 # Local config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
114
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
115 # Plugins
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 set -g @plugin 'tmux-plugins/tpm'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
117 set -g @plugin 'nhdaly/tmux-better-mouse-mode'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
118 set -g @plugin 'tmux-plugins/tmux-yank'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
119 set -g @plugin 'Morantron/tmux-fingers'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 set -g @plugin 'laktak/extrakto'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
121 set -g @plugin 'tmux-plugins/tmux-resurrect'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
122 set -g @plugin 'tmux-plugins/tmux-continuum'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
123
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
124
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
125 # Config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
126 set -g @fingers-skip-health-check '1'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 set -g @fingers-compact-hints '0'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
128 set -g @fingers-hint-format-nocompact " #[fg=colour1][%s]"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
129 set -g @fingers-highlight-format-nocompact "#[fg=colour5]%s"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
130 set -g @fingers-pattern-0 "[[:digit:]][[:digit:]][[:digit:]]+"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
131
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
132 set -g @scroll-without-changing-pane "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
133 set -g @emulate-scroll-for-no-mouse-alternate-buffer "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
134
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
135 set -g @extrakto_fzf_tool "/home/zvandeva/.fzf/bin/fzf"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
136
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
137 set -g @resurrect-strategy-nvim 'session'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
138 set -g @resurrect-capture-pane-contents 'on'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
139
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
140 run-shell "~/.tmux/plugins/tpm/tpm"