К сожалению, 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) после Prefixù- эти клавиши являются единственными привязками по умолчанию, которые «повторяются»).
Приведенный выше пример использует команду printf
shell для генерации необходимых байтов, но это не будет работать в вашем .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
Команда запускается асинхронно, поэтому привязки могут быть недоступны сразу после начала первого сеанса.