annotate dot_tmux.conf @ 1077:04ad0b576298

fix: make sure mise is installed before mercurial
author Zeger Van de Vannet <zeger@vandevan.net>
date Sat, 22 Feb 2025 10:13:14 +0100
parents 632e28eb77b2
children
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 # Open man pages in split
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 bind @ command-prompt -p "Man:" "split-window -v 'exec man %%'"
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 # act like vim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 bind Escape copy-mode
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 set-window-option -g mode-keys vi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 bind-key -T copy-mode-vi 'v' send -X begin-selection
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 bind-key -T copy-mode-vi 'V' send -X select-line
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 unbind-key -T copy-mode-vi MouseDragEnd1Pane
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 unbind -T copy-mode-vi MouseDragEnd1Pane
770
9f4e4087e2e7 fix: paste current selection on middlemouse
zegervdv <zegervdv@me.com>
parents: 768
diff changeset
55 # Copy and Paste selection on middle mouse
9f4e4087e2e7 fix: paste current selection on middlemouse
zegervdv <zegervdv@me.com>
parents: 768
diff changeset
56 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
57
1049
632e28eb77b2 feat: unmap tmux pane navigation shortcuts
Zeger Van de Vannet <zeger@vandevan.net>
parents: 848
diff changeset
58 bind-key h select-pane -L
632e28eb77b2 feat: unmap tmux pane navigation shortcuts
Zeger Van de Vannet <zeger@vandevan.net>
parents: 848
diff changeset
59 bind-key j select-pane -D
632e28eb77b2 feat: unmap tmux pane navigation shortcuts
Zeger Van de Vannet <zeger@vandevan.net>
parents: 848
diff changeset
60 bind-key k select-pane -U
632e28eb77b2 feat: unmap tmux pane navigation shortcuts
Zeger Van de Vannet <zeger@vandevan.net>
parents: 848
diff changeset
61 bind-key l select-pane -R
348
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
62
f220567b278e Update tmux-vim mapping
Zeger Van de Vannet <zegervdv@me.com>
parents: 297
diff changeset
63 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
64 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
65 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
66 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
67 bind-key -T copy-mode-vi 'C-\' select-pane -l
568
91d89b637bd6 clean up tmux.conf
zegervdv <zegervdv@me.com>
parents: 565
diff changeset
68
844
9e2c5662c2cb feat: enable OSC 133 in tmux and zsh
zegervdv <zegervdv@me.com>
parents: 822
diff changeset
69 bind-key -T copy-mode-vi ] send-keys -X next-prompt
9e2c5662c2cb feat: enable OSC 133 in tmux and zsh
zegervdv <zegervdv@me.com>
parents: 822
diff changeset
70 bind-key -T copy-mode-vi [ send-keys -X previous-prompt
9e2c5662c2cb feat: enable OSC 133 in tmux and zsh
zegervdv <zegervdv@me.com>
parents: 822
diff changeset
71
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 unbind C-b
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 set -g prefix C-Space
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 bind Space send-prefix
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 set -g escape-time 20
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
76
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 # 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
78 set -g base-index 1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
79
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 # renumber windows sequentially after closing any of them
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 set -g renumber-windows on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
82
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 bind-key r source ~/.tmux.conf
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 # Fix hightlighting in less
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 set -ga terminal-overrides ',*:sitm@,ritm@'
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 # increase scrollback lines
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 set -g history-limit 100000
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 setw -g mouse on
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 set -g focus-events on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
94
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 # Allow for visual bell when a command completes
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 set-window-option -g visual-bell on
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 set-window-option -g bell-action other
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
98
614
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
99 # Allow OSC52 from applications
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
100 set -s set-clipboard on
ad5e870cd4b2 replace osc52 plugin
zegervdv <zegervdv@me.com>
parents: 568
diff changeset
101
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 # Local config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 if-shell "[ -f ~/.tmux.conf.local ]" 'source ~/.tmux.conf.local'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
104
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 # Config
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 set -g @scroll-without-changing-pane "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 set -g @emulate-scroll-for-no-mouse-alternate-buffer "on"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
108
377
ce08bc71b455 Manually manage tmux plugins
Zeger Van de Vannet <zegervdv@me.com>
parents: 355
diff changeset
109 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
110 run-shell ~/.tmux/plugins/tmux-yank/yank.tmux
505
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
111 run-shell ~/.tmux/plugins/tmux-thumbs/tmux-thumbs.tmux
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
112
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
113 set -g @thumbs-osc52 0
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
114 # Swap behaviour
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
115 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
116 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
117 set -g @thumbs-hint-fg-color red
38b7afc9e492 Add tmux plugins
zegervdv <zegervdv@me.com>
parents: 470
diff changeset
118 set -g @thumbs-reverse enabled
470
e4937efdf43e Add some popup bindings for tmux
Zeger Van de Vannet <zegervdv@me.com>
parents: 377
diff changeset
119
e4937efdf43e Add some popup bindings for tmux
Zeger Van de Vannet <zegervdv@me.com>
parents: 377
diff changeset
120 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
121
9af6e508f630 toggle zoom with c-z when zoomed, else fallback to backgrounding
zegervdv <zegervdv@me.com>
parents: 507
diff changeset
122 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
123
848
7218c2192214 feat: only enable c-s selection in copy mode
Zeger Van de Vannet <zegervdv@me.com>
parents: 844
diff changeset
124 bind-key -T copy-mode-vi 'C-s' {
564
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
125 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
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
134 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
135 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
136 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
137 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
138 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
139 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
140 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
141 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
142 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
143 }
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
144 } {
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 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
146 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
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 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
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 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
151 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
152 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
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 }
b251d808fa04 Add tmux mapping to select the last command output and open selection in quickfix
zegervdv <zegervdv@me.com>
parents: 528
diff changeset
155
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
156 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
157
822
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
158
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
159 bind-key 'o' {
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
160 copy-mode
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
161 send -X clear-selection
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
162 send -X start-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
163 send -X start-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
164 send -X cursor-up
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
165 send -X cursor-up
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
166 send -X start-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
167 send -X start-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
168
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
169 if -F "#{m:*->\u00A0*,#{copy_cursor_line}}" {
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
170 send -X search-forward-text "->\u00A0"
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
171 send -X stop-selection
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
172 send -X -N 2 cursor-right
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
173 send -X begin-selection
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
174 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
175 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
176 if "#{m:*->\u00A0?*,#{copy_cursor_line}}" {
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
177 send -X cursor-left
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
178 }
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
179 } {
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
180 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
181 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
182 send -X begin-selection
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
183 send -X search-backward-text "->\u00A0"
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
184 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
185 send -X end-of-line
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
186 send -X cursor-right
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
187 send -X stop-selection
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
188 }
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
189
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
190 send -X copy-pipe-and-cancel "grep -oE '([^\s]+)\/([^/]+)' | fzf-tmux -d20 --multi --bind alt-a:select-all,alt-d:deselect-all | paste -sd \" \" - | xargs -I {} tmux send-keys -t #{pane_id} \"{}\""
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
191
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
192 }
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
193
0c2dcf35d759 feat: show fzf to select paths from last command output
zegervdv <zegervdv@me.com>
parents: 770
diff changeset
194
768
eeaf0d561877 fix: unbind mouse drag to avoid jumping back when selecting in tmux
zegervdv <zegervdv@me.com>
parents: 697
diff changeset
195 # 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
196 unbind -T copy-mode-vi MouseDragEnd1Pane