Leider unterstützt tmux nur einzelne 8-Bit-Werte in seinen Schlüsselbindungen.
Wenn Sie eine 8-Bit-Codierung (feste Länge) (z. B. ISO 8859-1, ISO 8859-15 usw.) verwendet haben, sollte die Bindung funktionieren. Wenn Sie UTF-8 verwenden, wird Ihr ù (U + 00F9) jedoch als zwei Bytes (C3 B9) codiert und von tmux als unbekannter Schlüsselname zurückgewiesen (wenn ein Schlüssel länger ist als ein einzelnes Byte (nachdem er entfernt wurde) Modifikator Präfixe), wird er als der Name eines speziellen Schlüssels zB verarbeitet F1
, PageUp
, KP0
, etc.).
Wenn Sie verzweifelt sind, gibt es einen groben Hack, den Sie ausprobieren könnten:
tmux bind-key -r $(printf '\303') display 'c3 prefix binding hack' \; \ bind-key -r $(printf '\271') split-window -h
Dies missbraucht die "Repeat" -Bindungsfunktion, indem sie dazu verwendet wird, im "Präfix-Modus" zu bleiben, während das erste Byte der UTF-8-Codierung von ù (Hex C3 B9, Oktal 303 271) grundsätzlich ignoriert wird.
Das erste Byte von ù (Oktal 303) ist an einen Dummy-Befehl gebunden, und das zweite Byte (Oktal 271) ist an den Zielbefehl gebunden. Dies setzt voraus , dass Sie die tmux-repeat-time
Option nicht auf null gesetzt haben (um das Wiederholen zu deaktivieren), und es hat den Nebeneffekt, dass tmux für repeat-time
Millisekunden (Standardeinstellung 500ms) nach der Eingabe im Wiederholungsmodus verbleibt Prefixù(dieser Nebeneffekt ist normalerweise nur der Fall) bemerkbar, wenn Sie sofort eine Pfeiltaste (mit oder ohne Controloder Meta) danach Prefixùeingeben - diese Tasten sind die einzigen Standardbindungen, die „wiederholbar“ sind.
Das obige Beispiel verwendet den printf
Shell-Befehl, um die erforderlichen Bytes zu generieren, dies funktioniert jedoch nicht in Ihren .tmux.conf
. Wenn Sie tmux 1.7 ausgeführt haben, können Sie es so schreiben (in Ihrem .tmux.conf
):
bind-key -r 0xC3 display 'c3 prefix binding hack' bind-key -r 0xB9 split-window -h
Diese Hex-Schlüsselsyntax funktioniert jedoch nicht in tmux 1.6. Daher müssen Sie entweder dafür sorgen, dass sich die rohen Bytes direkt in der Datei befinden (Ihr Texteditor kann Sie darüber streiten, und es ist leicht, einen Fehler zu machen) oder Sie verwenden eine Shell, um Sie zu unterstützen:
run-shell "tmux bind-key -r $(printf '\\303') display 'c3 prefix binding hack' \\; bind-key -r $(printf '\\271') split-window -h"
Hinweis: Der run-shell
Befehl wird asynchron ausgeführt, sodass die Bindungen möglicherweise nicht sofort nach dem Start Ihrer ersten Sitzung verfügbar sind.