Настройка, расширение, параметры платформы и справочник API для Pi.

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
tmux

Pi автоматически запрашивает расширенные отчеты о клавишах, когда протокол клавиатуры Kitty недоступен. С помощью extended-keys-format csi-u, tmux пересылаются измененные ключи в формате CSI-u, который является наиболее надежной конфигурацией. Для опции extended-keys-format требуется tmux 3.5 или более поздняя версия.

Почему рекомендуется csi-u

Только с:

set -g extended-keys on

tmux по умолчанию равно 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;5u
  • Ctrl+D\x1b[100;5u
  • Ctrl+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.