Konfiguration, Anpassung, Plattform-Einrichtung und API-Referenzen für Pi.

tmux Einrichtung

Pi funktioniert innerhalb von tmux, aber tmux entfernt standardmäßig Modifikatorinformationen von bestimmten Tasten. Ohne Konfiguration sind Shift+Enter und Ctrl+Enter normalerweise nicht vom einfachen Enter zu unterscheiden.

Empfohlene Konfiguration

Zu ~/.tmux.conf hinzufügen:

set -g extended-keys on
set -g extended-keys-format csi-u

Anschließend tmux vollständig neu starten:

tmux kill-server
tmux

Pi fordert automatisch eine erweiterte Tastenberichterstattung an, wenn das Kitty-Tastaturprotokoll nicht verfügbar ist. Mit extended-keys-format csi-u leitet tmux geänderte Schlüssel im CSI-u-Format weiter, was die zuverlässigste Konfiguration darstellt. Die Option extended-keys-format erfordert tmux 3.5 oder höher.

Warum csi-u empfohlen wird

Mit nur:

set -g extended-keys on

tmux ist standardmäßig extended-keys-format xterm. Wenn eine Anwendung eine erweiterte Schlüsselberichterstattung anfordert, werden geänderte Schlüssel im xterm modifyOtherKeys-Format weitergeleitet, z. B.:

  • Ctrl+C\x1b[27;5;99~
  • Ctrl+D\x1b[27;5;100~
  • Ctrl+Enter\x1b[27;5;13~

Mit extended-keys-format csi-u werden die gleichen Schlüssel weitergeleitet wie:

  • Ctrl+C\x1b[99;5u
  • Ctrl+D\x1b[100;5u
  • Ctrl+Enter\x1b[13;5u

Pi unterstützt beide Formate, aber csi-u ist das empfohlene tmux-Setup.

Was dies behebt

Ohne tmux erweiterte Tasten werden geänderte Eingabetasten auf alte Sequenzen reduziert:

Schlüssel Ohne Extkeys Mit csi-u
Eingeben \r \r
Umschalt+Eingabetaste \r \x1b[13;2u
Strg+Eingabetaste \r \x1b[13;5u
Alt/Wahl+Eingabetaste \x1b\r \x1b[13;3u

Dies betrifft die Standard-Tastenkombinationen (Enter zum Senden, Shift+Enter für Zeilenumbruch) und alle benutzerdefinierten Tastenkombinationen, die die modifizierte Eingabetaste verwenden.

Anforderungen

  • tmux 3.5 oder höher für extended-keys-format csi-u (führen Sie tmux -V zur Überprüfung aus)
  • Ein Terminalemulator, der erweiterte Tasten unterstützt (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)

Bei tmux 3.2 bis 3.4 extended-keys-format csi-u weglassen; Pi unterstützt weiterhin das Standardformat xterm modifyOtherKeys von tmux.