tmux에서 vim을 사용하여 자동 완성 줄 제안을 만들고 싶습니다(보통 완성을 통해 C-x C-l
).
.tmux
그러나 창 사이의 탐색 키로 작동하는 다음 구성이 있습니다 C-l
(오른쪽 창 선택).
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^STXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
bind-key -T copy-mode-vi 'C-h' select-pane -L
bind-key -T copy-mode-vi 'C-j' select-pane -D
bind-key -T copy-mode-vi 'C-k' select-pane -U
bind-key -T copy-mode-vi 'C-l' select-pane -R
tmux에서 내부 vim을 실행하면 C-x C-l
작동하지 않습니다. vim에서 결론을 얻습니다 -- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)
.
vim을 직접 실행하면(tmux 내에서 실행하지 않고) 잘 작동합니다.
.tmux.conf
이 상황에 대한 접근 방식을 어떻게 바꿀 수 있습니까 ?
답변1
이것은 작동하는 것 같습니다:
-grep -iqE '^[^STXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
+grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
그러나 vim 내 탐색이 완전히 비활성화됩니다.