tmux Настройка
Pi работает внутри tmux, но tmux по умолчанию удаляет информацию о модификаторах из определенных клавиш. Без конфигурации Shift+Enter и Ctrl+Enter обычно неотличимы от обычного Enter.
Рекомендуемая конфигурация
Добавьте к ~/.tmux.conf:
set -g extended-keys on
set -g extended-keys-format csi-uЗатем полностью перезапустите tmux:
tmux kill-server
tmuxPi автоматически запрашивает расширенные отчеты о клавишах, когда протокол клавиатуры Kitty недоступен. С помощью extended-keys-format csi-u, tmux пересылаются измененные ключи в формате CSI-u, который является наиболее надежной конфигурацией. Для опции extended-keys-format требуется tmux 3.5 или более поздняя версия.
Почему рекомендуется csi-u
Только с:
set -g extended-keys ontmux по умолчанию равно extended-keys-format xterm. Когда приложение запрашивает расширенный отчет о ключах, измененные ключи пересылаются в формате xterm modifyOtherKeys, например:
Ctrl+C→\x1b[27;5;99~Ctrl+D→\x1b[27;5;100~Ctrl+Enter→\x1b[27;5;13~
При использовании extended-keys-format csi-u пересылаются те же ключи, что и:
Ctrl+C→\x1b[99;5uCtrl+D→\x1b[100;5uCtrl+Enter→\x1b[13;5u
Pi поддерживает оба формата, но csi-u — рекомендуемая настройка tmux.
Что это исправляет
Без расширенных клавиш tmux измененные клавиши Enter сворачиваются в устаревшие последовательности:
| Ключ | Без дополнительных ключей | С csi-u |
|---|---|---|
| Входить | \r |
\r |
| Shift+Ввод | \r |
\x1b[13;2u |
| Ctrl+Ввод | \r |
\x1b[13;5u |
| Alt/Option+Ввод | \x1b\r |
\x1b[13;3u |
Это влияет на сочетания клавиш по умолчанию (Enter для отправки, Shift+Enter для новой строки) и любые пользовательские сочетания клавиш с использованием модифицированного Enter.
Требования
- tmux 3.5 или новее для
extended-keys-format csi-u(запуститеtmux -V, чтобы проверить) - Эмулятор терминала, поддерживающий расширенные ключи (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
Для tmux 3.2–3.4 опустите extended-keys-format csi-u; Pi по-прежнему поддерживает формат xterm modifyOtherKeys по умолчанию для tmux.