Почему Tmux должен принять Escape + J за?Еще один наследственный сканкод? - PullRequest
0 голосов
/ 25 февраля 2019

Я нахожу забавным, что следующий параметр будет мешать использованию Vim в Tmux, когда для сеанса tmux должно быть более одной «панели»:

Нажатие Escape и J последовательно (в течение 1-2 секунд) будет интерпретироваться как prefix + M-j ==> переход на следующую панель:)

Настройки для репликации:

unbind C-b
set -g prefix C-a
bind C-a send-prefix
# Use Alt-vim keys without prefix key to switch panes
bind -n M-j select-pane -D 

# Other pieces 
bind -n M-h select-pane -L
bind -n M-k select-pane -U
bind -n M-l select-pane -R

Мне потребовалось много недель, если не месяцев, чтобы пострадать от такого забавного факта: я потеряю активный курсор, когда просто хочу переместиться на 3 строки ниже, так какон может перейти к следующей панели или к следующей-следующей.

В этом посте я хотел бы задокументировать этот абсурдно забавный побочный эффект сопоставления ключей M-h в Tmux.И ожидайте уточняющего ответа на вопрос «почему».

1 Ответ

0 голосов
/ 26 февраля 2019

Если вы хотите решить эту проблему, вы можете изменить время ожидания того, как долго tmux будет ждать между получением escape-последовательности (Meta или lite Esc) и следующим символом, чтобы определить, вводите ли вы команду tmux.или нет.

set -sg escape-time 0

При этом вам придется удерживать Meta при нажатии J, чтобы активировать команду tmux для перехода на следующую панель.Однако между нажатием последовательности префикса и командой у вас все еще будет бесконечное время (т. Е. Вы можете нажать, подождать несколько секунд, а затем нажать d, чтобы отключиться как обычно).

Это, очевидно, будет мешать любомусвязывает, что вы можете иметь, которые не могут быть нажаты одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...