comparison dot_tmux.conf @ 1049:632e28eb77b2

feat: unmap tmux pane navigation shortcuts
author Zeger Van de Vannet <zeger@vandevan.net>
date Fri, 28 Jun 2024 15:37:25 +0200
parents 7218c2192214
children
comparison
equal deleted inserted replaced
1048:c27e3816ab86 1049:632e28eb77b2
39 39
40 bind s split-window -v -c "#{pane_current_path}" 40 bind s split-window -v -c "#{pane_current_path}"
41 bind v split-window -h -c "#{pane_current_path}" 41 bind v split-window -h -c "#{pane_current_path}"
42 bind c command-prompt -p "Name:" "new-window -c \"#{pane_current_path}\" -n %%" 42 bind c command-prompt -p "Name:" "new-window -c \"#{pane_current_path}\" -n %%"
43 43
44 # Enable delete in command sequencer
45 bind h send-keys 'c-h'
46
47 # Open man pages in split 44 # Open man pages in split
48 bind @ command-prompt -p "Man:" "split-window -v 'exec man %%'" 45 bind @ command-prompt -p "Man:" "split-window -v 'exec man %%'"
49 46
50 # act like vim 47 # act like vim
51 bind Escape copy-mode 48 bind Escape copy-mode
56 unbind-key -T copy-mode-vi MouseDragEnd1Pane 53 unbind-key -T copy-mode-vi MouseDragEnd1Pane
57 unbind -T copy-mode-vi MouseDragEnd1Pane 54 unbind -T copy-mode-vi MouseDragEnd1Pane
58 # Copy and Paste selection on middle mouse 55 # Copy and Paste selection on middle mouse
59 bind-key -T copy-mode-vi MouseDown2Pane send-keys -X copy-pipe-and-cancel "tmux paste-buffer" 56 bind-key -T copy-mode-vi MouseDown2Pane send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
60 57
61 # Smart pane switching with awareness of Vim splits. 58 bind-key h select-pane -L
62 # See: https://github.com/christoomey/vim-tmux-navigator 59 bind-key j select-pane -D
63 is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ 60 bind-key k select-pane -U
64 | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" 61 bind-key l select-pane -R
65 bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
66 bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
67 bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
68 bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
69 tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
70 if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
71 "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
72 if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
73 "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
74 62
75 bind-key -T copy-mode-vi 'C-h' select-pane -L 63 bind-key -T copy-mode-vi 'C-h' select-pane -L
76 bind-key -T copy-mode-vi 'C-j' select-pane -D 64 bind-key -T copy-mode-vi 'C-j' select-pane -D
77 bind-key -T copy-mode-vi 'C-k' select-pane -U 65 bind-key -T copy-mode-vi 'C-k' select-pane -U
78 bind-key -T copy-mode-vi 'C-l' select-pane -R 66 bind-key -T copy-mode-vi 'C-l' select-pane -R