annotate dot_tmux.conf @ 821:03e120882791

feat: install pre-commit
author zegervdv <zegervdv@me.com>
date Fri, 15 Dec 2023 08:05:00 +0100
parents 9f4e4087e2e7
children 0c2dcf35d759
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 # Nested TMUX sessions (from
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
2 # https://medium.freecodecamp.org/tmux-in-practice-local-and-nested-remote-tmux-sessions-4f7ba5db8795)
348
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
3 bind -T root F11 \
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 set prefix None \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 set key-table off \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 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
7 refresh-client -S \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
8
348
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
9 bind -T off F11 \
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 set -u prefix \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 set -u key-table \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 set -u status-right \;\
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 refresh-client -S
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 # improve colors
355
44442a6b8aa6 Set the smso option to make italics work in tmux
zegervdv <zegervdv@me.com>
parents: 348
diff changeset
15 set -g default-terminal 'tmux-256color'
44442a6b8aa6 Set the smso option to make italics work in tmux
zegervdv <zegervdv@me.com>
parents: 348
diff changeset
16 set -as terminal-overrides ',xterm*:Tc:smso=\E[3m'
44442a6b8aa6 Set the smso option to make italics work in tmux
zegervdv <zegervdv@me.com>
parents: 348
diff changeset
17 set -g -a terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'
257
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'
697
f2984842d6e2 fix: set background color of tmux status line
zegervdv <zegervdv@me.com>
parents: 668
diff changeset
24 set -g status-style 'bg=#fbfafc'
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 set -g status-left ""
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 set -g status-right-length 200
668
a74af5498b31 update tmux colors
zegervdv <zegervdv@me.com>
parents: 614
diff changeset
27 set -g status-right "#[fg=white,bg=#7653c1] vsim #[fg=white,bg=#404a54] #(ps hux -u $(whoami) | grep 'vish' | grep -v -E 'grep|view' | wc -l) #[fg=colour3,bg=default] #[fg=colour0,bg=colour3] load #[fg=white,bg=#404a54] #(cat /proc/loadavg | awk '{ print $3; }' | xargs printf '%2.2f') #[fg=colour3,bg=default] #[fg=colour0,bg=#73b00a] mem #[fg=white,bg=#404a54] #(ps haux | awk -v user=$(whoami) '$1 ~ user { sum += $4 } END { print sum; }' | xargs printf '%2.2f')% #[fg=colour3,bg=default] #[fg=white,bg=#cf4f5f] time #[fg=white,bg=#404a54] %d %b %l:%M %p #[fg=colour3,bg=default] #[fg=colour15,bg=colour8] #{session_name} #[fg=colour0,bg=default]"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
28
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 # Tabs
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 setw -g window-status-format " #I #W "
668
a74af5498b31 update tmux colors
zegervdv <zegervdv@me.com>
parents: 614
diff changeset
31 setw -g window-status-style "fg=#404a54,bg=#e3ebf1"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 setw -g window-status-current-format " #I #W "
668
a74af5498b31 update tmux colors
zegervdv <zegervdv@me.com>
parents: 614
diff changeset
33 setw -g window-status-current-style "bg=#404a54,fg=#ffffff"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
34
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 set -g status-justify "left"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
36
668
a74af5498b31 update tmux colors
zegervdv <zegervdv@me.com>
parents: 614
diff changeset
37 setw -g window-status-bell-style "fg=#ffffff,bg=#d44950"
a74af5498b31 update tmux colors
zegervdv <zegervdv@me.com>
parents: 614
diff changeset
38 setw -g mode-style "bg=#fbe9ad"
257
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 bind s split-window -v -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
41 bind v split-window -h -c "#{pane_current_path}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 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
43
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 # Enable delete in command sequencer
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 bind h send-keys 'c-h'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
46
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 # Open man pages in split
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 bind @ command-prompt -p "Man:" "split-window -v 'exec man %%'"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
49
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 # act like vim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 bind Escape copy-mode
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 set-window-option -g mode-keys vi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 bind-key -T copy-mode-vi 'v' send -X begin-selection
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 bind-key -T copy-mode-vi 'V' send -X select-line
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 unbind-key -T copy-mode-vi MouseDragEnd1Pane
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 unbind -T copy-mode-vi MouseDragEnd1Pane
770
9f4e4087e2e7 fix: paste current selection on middlemouse
zegervdv <zegervdv@me.com>
parents: 768
diff changeset
58 # Copy and Paste selection on middle mouse
9f4e4087e2e7 fix: paste current selection on middlemouse
zegervdv <zegervdv@me.com>
parents: 768
diff changeset
59 bind-key -T copy-mode-vi MouseDown2Pane send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
60
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 # Smart pane switching with awareness of Vim splits.
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 # See: https://github.com/christoomey/vim-tmux-navigator
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
348
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
65 bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
66 bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
67 bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
68 bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
69 tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
70 if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
71 "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
72 if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
73 "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
74
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
75 bind-key -T copy-mode-vi 'C-h' select-pane -L
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
76 bind-key -T copy-mode-vi 'C-j' select-pane -D
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
77 bind-key -T copy-mode-vi 'C-k' select-pane -U
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
78 bind-key -T copy-mode-vi 'C-l' select-pane -R
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
79 bind-key -T copy-mode-vi 'C-\' select-pane -l
568
91d89b637bd6 clean up tmux.conf
zegervdv <zegervdv@me.com>
parents: 565
diff changeset
80
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 unbind C-b
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 set -g prefix C-Space
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 bind Space send-prefix
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
84 set -g escape-time 20
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
85
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 # 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
87 set -g base-index 1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
88
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 # renumber windows sequentially after closing any of them
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 set -g renumber-windows on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
91
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 bind-key r source ~/.tmux.conf
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
93
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 # Fix hightlighting in less
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 set -ga terminal-overrides ',*:sitm@,ritm@'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
96
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 # increase scrollback lines
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 set -g history-limit 100000
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
99
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 setw -g mouse on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
101
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 set -g focus-events on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
103
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 # Allow for visual bell when a command completes
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 set-window-option -g visual-bell on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 set-window-option -g bell-action other
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
107
614
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
108 # Allow OSC52 from applications
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
109 set -s set-clipboard on
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
110
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 # Local config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
113
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 # Config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
115 set -g @scroll-without-changing-pane "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 set -g @emulate-scroll-for-no-mouse-alternate-buffer "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
117
377
ce08bc71b455 Manually manage tmux plugins
Zeger Van de Vannet <zegervdv@me.com>
parents: 355
diff changeset
118 run-shell ~/.tmux/plugins/tmux-better-mouse-mode/scroll_copy_mode.tmux
ce08bc71b455 Manually manage tmux plugins
Zeger Van de Vannet <zegervdv@me.com>
parents: 355
diff changeset
119 run-shell ~/.tmux/plugins/tmux-yank/yank.tmux
505
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
120 run-shell ~/.tmux/plugins/tmux-thumbs/tmux-thumbs.tmux
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
121
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
122 set -g @thumbs-osc52 0
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
123 # Swap behaviour
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
124 set -g @thumbs-command 'tmux set-buffer -w -- {} && tmux paste-buffer && tmux display-message \"Copied {}\"'
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
125 set -g @thumbs-upcase-command 'tmux set-buffer -w -- {} && tmux display-message \"Copied {}\"'
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
126 set -g @thumbs-hint-fg-color red
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
127 set -g @thumbs-reverse enabled
470
e4937efdf43e Add some popup bindings for tmux
Zeger Van de Vannet <zegervdv@me.com>
parents: 377
diff changeset
128
e4937efdf43e Add some popup bindings for tmux
Zeger Van de Vannet <zegervdv@me.com>
parents: 377
diff changeset
129 bind-key -n 'C-q' popup -w50% -h 90% -x 90% -E -d '#{pane_current_path}' chezmoi cd
528
9af6e508f630 toggle zoom with c-z when zoomed, else fallback to backgrounding
zegervdv <zegervdv@me.com>
parents: 507
diff changeset
130
9af6e508f630 toggle zoom with c-z when zoomed, else fallback to backgrounding
zegervdv <zegervdv@me.com>
parents: 507
diff changeset
131 bind-key -n 'C-z' if -F '#{window_zoomed_flag}' "resize-pane -Z" "send-keys C-z"
564
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
132
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
133 bind-key -n 'C-s' {
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
134 copy-mode
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
135 send -X clear-selection
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
136 send -X start-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
137 send -X start-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
138 send -X cursor-up
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
139 send -X cursor-up
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
140 send -X start-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
141 send -X start-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
142
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
143 if -F "#{m:*->\u00A0*,#{copy_cursor_line}}" {
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
144 send -X search-forward-text "->\u00A0"
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
145 send -X stop-selection
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
146 send -X -N 2 cursor-right
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
147 send -X begin-selection
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
148 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
149 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
150 if "#{m:*->\u00A0?*,#{copy_cursor_line}}" {
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
151 send -X cursor-left
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
152 }
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
153 } {
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
154 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
155 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
156 send -X begin-selection
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
157 send -X search-backward-text "->\u00A0"
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
158 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
159 send -X end-of-line
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
160 send -X cursor-right
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
161 send -X stop-selection
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
162 }
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
163 }
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
164
565
697909624a17 Map quickfix edit on s (e is too useful in vi mode)
Zeger Van de Vannet <zegervdv@me.com>
parents: 564
diff changeset
165 bind-key -T copy-mode-vi 's' send -X copy-pipe-and-cancel "cat > /tmp/error.txt && tmux new-window -n 'quickfix' -c \"#{pane_current_path}\" 'nvim -q /tmp/error.txt && rm -f /tmp/error.txt'"
768
eeaf0d561877 fix: unbind mouse drag to avoid jumping back when selecting in tmux
zegervdv <zegervdv@me.com>
parents: 697
diff changeset
166
eeaf0d561877 fix: unbind mouse drag to avoid jumping back when selecting in tmux
zegervdv <zegervdv@me.com>
parents: 697
diff changeset
167 # unbind after loading plugins
eeaf0d561877 fix: unbind mouse drag to avoid jumping back when selecting in tmux
zegervdv <zegervdv@me.com>
parents: 697
diff changeset
168 unbind -T copy-mode-vi MouseDragEnd1Pane