3

Я нашел это онлайн:

bindkey "\261" select 1
bindkey "\262" select 2 
bindkey "\263" select 3 
....

В основном это отображает alt+1, чтобы "выбрать 1"; alt+2, чтобы "выбрать 2". Поэтому, когда вы нажимаете Alt+1, он должен перейти к окну экрана 1.

Это работает в xterm но не в gnome-terminal . Я знаю, что gnome-terminal уже использует alt+N для переключения на вкладку n . Поэтому я отключил это отображение ключей для терминала gnome configure editor . Но это все еще не работает.

Кажется, что когда я нажимаю alt+1, он принимается bash , а не экранной программой GNU, поэтому он ставит специальный символ на bash или ставит "arg: 1" .

Какие-либо решения? Большое спасибо!

1 ответ1

4

Проблема вызвана различной обработкой мета-клавиши (Alt на клавиатурах ПК) в Xterm и GNOME Terminal.

В Xterm удержание мета-ключа (по умолчанию) устанавливает старший бит для символов (Meta+1 становится \261), в то время как GNOME Terminal и большинство других эмуляторов терминала оставляют символ неизмененным, но префикс его с помощью ESC (то же нажатие клавиши становится \033\061).

Кажется, нет способа настроить обработку мета-ключа в GNOME Terminal (printf '\033[?1036l' может работать, но я не могу это проверить), поэтому вам придется каким-то образом привязать \033\061 к " select 1 " и так далее. (Маловероятно, что это на самом деле сработает, и если бы это сработало, то, вероятно, сломало бы все остальные специальные клавиши: стрелки, функциональные клавиши и т.д.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .