Комбінації клавіш функцій у PuTTY / MinTTY та Tmux / Byobu


18

Як давній прихисток на стек-біржі, я знайшов відповіді на більшість моїх проблем, не потребуючи стільки, щоб робити акаунт. Але сьогодні я повністю спотикаюся з цим питанням, тому я звертаюся за допомогою.

Нещодавно я відкрив для себе Byobu - інтерфейс для Tmux, який використовує клавіші Fn для загальних завдань. Це справжнє благо для багатозадачності через SSH на віддалений сервер Linux з ПК, який я маю використовувати на роботі.

В даний час я використовую gnome-термінал через тунель SSH, оскільки і PuTTY, і MinTTY (термінал за замовчуванням у Cygwin), здається, надсилають неправильні коди ключів для функціональних клавіш.

Мені було цікаво, чи існує спосіб змінити певні коди евакуації, щоб принаймні один із моїх терміналів на базі Windows міг правильно працювати з Tmux. (Напевно, я міг би просто вивчити комбінації клавіш Ctrl + b / Ctrl +, але виконання комбінації клавіш, а потім інший ключ, насправді не вражає мене як ергономічне.)

У PuTTY, якщо встановити термінал> клавіатура> «функціональні клавіші та клавіатуру» на «XtermR6», схоже, зазвичай натискають правильні послідовності виходу для клавіш 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" чотири або п'ять разів, перш ніж раптом нерестувати нове вікно.

Якщо хтось має пораду, було б раді. Більшість речей, які я знайшов в Інтернеті, казали про зміну типу терміналу, але я спробував буквально кожну комбінацію кожної з двох програм.

Спасибі!


3
Послідовності, які ви перераховуєте для tmux, є лише послідовністю модифікованого ключа rxvt, яку він розпізнає. tmux також розпізнає (немодифіковану) послідовність, визначену термінальним записом TERM (наприклад,kf3 з будь-якого терміна, який ви використовуєте для приєднання до tmux ), а також послідовності з модифікованим ключем xterm у стилі xterm-keys.c. Отже, послідовності, про які ви повідомляєте з Gnome-Terminal та MinTTY (хоча вхідні + нулі у ваших послідовностях мають бути escape + letter-ohs (він же SS3), слід розпізнати tmux , але він передасть їх лише у тому випадку, якщо у вас є xterm-keysопція включена.
Кріс Джонсен

Відповіді:


1

У мене були подібні проблеми з PuTTY і екраном (я не міг використовувати Ctrlмодифікатор). Я знайшов рішення KiTTY - вилка PuTTY, яка краще підтримується (останнє оновлення з 02.02.2015 22:02). Моя проблема з Ctrlключем пішла.

За замовчуванням Kitty використовує клавіші Fn для власних ярликів, але ви можете налаштувати її інакше , тому клавіші Fn будуть надіслані вашій програмі.


0

Я сам використовую BYOBU таким же чином. Я просто використовую cygwin в наші дні, оскільки F2,3,4 і F6 просто працюють для мене, і це єдині, про кого я дійсно переживаю. Однак, коли я використовував шпаклівку, я мав найбільший успіх у налаштуванні "Функціональні клавіші та клавіатура", встановленому для імітації VT100 +

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.