Как давний специалист по Stack Exchange, я нашел ответы на большинство моих проблем без необходимости создавать аккаунт. Но сегодня я полностью озадачен этой проблемой, поэтому я обращаюсь за помощью.
Недавно я обнаружил Byobu, интерфейс для Tmux, который использует клавиши Fn для общих задач. Это настоящее благословение для многозадачности через SSH на удаленный сервер Linux с ПК с Windows, который я должен использовать на работе.
В настоящее время я использую gnome-терминал через SSH-туннель, потому что PuTTY и MinTTY (терминал по умолчанию с Cygwin), похоже, посылают неправильные коды клавиш для функциональных клавиш.
Мне было интересно, есть ли способ переопределить некоторые escape-коды, чтобы хотя бы один из моих оконных терминалов мог нормально работать с Tmux. (Думаю, я мог бы просто выучить комбинации клавиш Ctrl+b/Ctrl+a, но выполнение комбинации клавиш, за которой следует другая клавиша, на самом деле не кажется мне эргономичным.)
В PuTTY установка Terminal> Keyboard> "Функциональные клавиши и клавиатура" на "XtermR6", кажется, обычно выдвигает правильные escape-последовательности для клавиш Fn, но модификаторы Shift и Ctrl не работают. Я могу использовать vim, чтобы выяснить, какие коды отправляются каждым терминалом. Между тем, я думаю, что, возможно, я искал комбинацию, которую ищет tmux в своем исходном коде, но я не уверен:
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ ^[[1;6R
Пока что MinTTY выглядит лучшим кандидатом, но это дает мне совершенно другую проблему, когда byobu игнорирует 95% нажатий клавиш Fn, передавая их непосредственно клиентскому приложению. Я могу запустить cat -v и спамить клавишу F2 (в новом окне), и она напечатает «^ [0Q» четыре или пять раз, прежде чем внезапно появится новое окно.
Если у кого-то есть совет, это будет приветствоваться. В большинстве материалов, которые я нашел в интернете, говорилось об изменении типа терминала, но я пробовал буквально каждую комбинацию, которую предлагает каждая из двух программ.
Спасибо!