К сожалению, tmux поддерживает только одиночные 8-битные значения в привязках клавиш.
Если вы использовали 8-битное кодирование (фиксированной длины) (например, ISO 8859-1, ISO 8859-15 и т.д.), То привязка должна работать. Однако если вы используете UTF-8, ваш ù (U+00F9) кодируется как два байта (C3 B9), и tmux отклоняет его как неизвестное имя ключа (если ключ длиннее одного байта (после удаления его) префиксы модификаторов), он обрабатывается как имя специального ключа (например, F1
, PageUp
, KP0
и т. д.).
Хотя, если вы в отчаянии, есть грубый взлом, который вы можете попробовать:
tmux bind-key -r $(printf '\303') display 'c3 prefix binding hack' \; \
bind-key -r $(printf '\271') split-window -h
Это нарушает функциональность «повторного» связывания, используя его, чтобы оставаться в «режиме префикса», игнорируя при этом первый байт кодировки UTF-8 ù (шестнадцатеричный C3 B9, восьмеричный 303 271).
Первый байт ù (восьмеричный 303) связан с фиктивной командой, а второй байт (восьмеричный 271) связан с целевой командой. Это требует, чтобы вы не устанавливали опцию tmux repeat-time
равной нулю (чтобы отключить повторение), и побочный эффект оставил tmux в режиме repeat-time
миллисекунды времени повтора (по умолчанию 500 мс) после того, как вы набрали Prefix ù (этот побочный эффект обычно будет заметен только в том случае, если вы сразу же набираете клавишу со стрелкой (с или без Control или Meta) после префикса ù - эти клавиши являются единственными привязками по умолчанию, которые являются «повторяемыми»).
Приведенный выше пример использует команду оболочки printf
для генерации необходимых байтов, но это не сработает в вашем .tmux.conf
. Если вы работали с tmux 1.7, вы могли бы написать это так (в вашем .tmux.conf
):
bind-key -r 0xC3 display 'c3 prefix binding hack'
bind-key -r 0xB9 split-window -h
Однако этот синтаксис шестнадцатеричного ключа не работает в tmux 1.6. Итак, вам нужно либо организовать непосредственное размещение необработанных байтов в файле (ваш текстовый редактор может с этим бороться, и легко ошибиться), либо использовать оболочку, чтобы помочь вам:
run-shell "tmux bind-key -r $(printf '\\303') display 'c3 prefix binding hack' \\; bind-key -r $(printf '\\271') split-window -h"
Примечание: run-shell
выполняет свою команду асинхронно, поэтому привязки могут быть недоступны сразу после запуска вашего первого сеанса.