Неудовлетворительный обходной путь
Последовательность C-x @ s-… эквивалентна s-… , например, C-x @ s-t эквивалентна s-t . В сочетании с ярлыками iTerm2:
- Создайте глобальный или профильный ярлык для
⌘… установите для Send hex code , например, ⌘t => Send hex code
Укажите шестнадцатеричный код вида: 0x18 0x40 MOD KEY где MOD - 0x68 или 0x73 для h и s соответственно, а KEY - это ключ, который вы хотите изменить с помощью hyper или super . Например, отображение ⌘t в s-t:
⌘t => 0x18 0x40 0x73 0x74
Повторите для каждого ярлыка, который вы хотите ... ме ...
Неудачный эксперимент № 1
В iTerm:
- Глобальная настройка левой и правой опциональных клавиш как левой опции
- Глобально настроить левую и правую клавиши управления как правую опцию
- В профиле настройте Левый параметр как
+ESC а Правый - как Meta
Преобразование ⌘ таким образом эффективно отключает все сочетания клавиш iTerm… ме…
В Emacs:
Использование Right Option (R⌥) приводит к символам с установленным 8-м битом, что, как я понимаю, является старым способом представления нажатия клавиши META (назад, когда на клавишах была настоящая клавиша META).
Однако мне не удалось заставить Emacs сделать что-то полезное с этим различием. Учитывая, что META-t => t с его 8-м битом на => восьмеричном 364 я пробовал:
(global-set-key (kbd "[R⌥-t]") (lambda () (interactive) (message "woot #1")))
(global-set-key (kbd "\364") (lambda () (interactive) (message "woot #2")))
Где [R⌥-t] - это отдельный символ, который появляется в моем буфере, когда я нажимаю эту последовательность клавиш, графически представлен как \364 но ведет себя как один символ.
Стоит отметить, что при использовании нашей без привязки к клавише всякий раз, когда я R⌥-t в emacs ничего не отображается, пока я не нажму другую клавишу, на которой emacs отображает символ \364 последующей интерпретацией второго нажатия. Например, R⌥-t a => \364a<point> и R⌥-t LEFT => <point>\364 , но только после нажатия кнопки a стрелкой или влево.
Вы можете экспериментировать, выполнив только шаг 3 выше и используя R⌥ напрямую.