J'aimerais définir la clé de mon préfixe tmux sur Ctrl-apostrophe, mais lorsque j'utilise set-option prefix "C-'"
ou set-option prefix C-"'"
, tmux se plaint que "clé inconnue: C- '". De même pour `et:. Y a-t-il un moyen de lier ces clés?
La plupart des émulateurs de terminal génèrent uniquement une sortie spéciale pour un ensemble de touches restreint lorsqu'ils sont utilisés conjointement avec la touche de modification. La clé d'apostrophe est l'une des clés qui fait ne pas générer une séquence de sortie spéciale (si elle ne fait rien ou produit simplement une apostrophe régulière).
Voir Wikipedia “ Caractères de contrôle ASCII " et " Comment les caractères de contrôle correspondent aux claviers ”.
Vous pouvez vérifier si votre émulateur de terminal génère une sortie pour Control- '
, en le tapant dans cat -v
, ou à l'invite du shell (dans la plupart des shells) après avoir tapé un Control-V.
Si cela génère une sortie spéciale (pas seulement '
), vous pourrez peut-être le lier en tmux si le code de contrôle / séquence est connu pour tmux . La liste des noms de touches qui tmux reconnaît se trouve dans la page de manuel sous la section «Liaisons de touches». tmux reconnaîtra uniquement les touches spéciales si l’entrée terminfo de votre TERM en dehors de tmux les définit (voir man terminfo
pour les noms de «capacité» et infocmp
pour ceux que votre TERM définit); si nécessaire, vous pouvez étendre l’entrée terminfo de votre système juste pour tmux avec son terminal-overrides
variable de configuration (ou recompiler votre propre entrée personnalisée avec tic
).
S'il ne génère pas de sortie spéciale, vous devrez le reconfigurer pour le faire (si cela est possible). vous pourriez avoir générer le même code que ^]
, ou la séquence pour "F20" (si elle est définie dans l'entrée de votre TERM lorsque vous êtes en dehors tmux ).
infocmp -L xterm-256color
...terminal-overrides
pour modifier des bits de l'entrée terminfo qui tmux les usages. Par exemple:set -g terminal-overrides "*:kf20=\e[27;5;39~"
etset -g prefix F20
*VT100*translations: #override \n !Ctrl<Key>apostrophe: string("\033[34;1~")
. infocmp rapporté "key_f20=\E[19;2~
", alors j’ai dû deviner et vérifier la clé que tmux reconnaîtrait.