OSX Emacs: отсоединить только правую кнопку?

17

Я использую emacsformacosx.com и хотел бы остановить Meta_R (правый мета или правый ключ опции ) на моей клавиатуре Apple из мета-ключа Emacs.

Причина в том, что я хочу иметь возможность продолжать использовать правильный ключ опции в качестве модификатора символов, чтобы я мог вводить символы UTF-8 при записи в emacs. Я знаю, что могу сделать C-x 8 RET и набрать em dash , например, но это намного больше, чем Alt_R - !

Есть ли способ передать код ключа global-unset-key ? Или что-то еще я не замечаю?

Мне должно быть ясно, что я все еще хочу использовать привязку Meta_L:)

    
задан markhellewell 14.06.2011 в 15:38
источник
  • Вы считали, что просто используете команду как мета? Так я запускал Emacs на своем Mac уже много лет, не так ли? (Я не знаю, как приложения могут отличать одну сторону от другой.) –  Nicholas Riley 14.06.2011 в 17:00
  • Я действительно дал эту попытку после перехода (setq ns-right-alternate-modifier nil) из приведенного ниже ответа. Я на самом деле думаю, что у меня есть клавиша Command, поскольку Meta более удобна для меня. Я добавил это в мой .emacs: (metq mac-command-modifier setq) (setq mac-option-modifier nil) –  markhellewell 26.06.2011 в 04:34
  • На самом деле, метод C-x 8 RET, о котором вы говорили, помог мне решить эту проблему - в сочетании с Helm это действительно потрясает! В любом случае, я не знаю этих ярлыков символов UTF8. Теперь я могу разместить все вокруг :) –  metakermit 09.09.2013 в 16:24

4 ответа

12

Aquamacs имеет переменную, называемую нс правой кнопкой альтернативного модификатора . Если я правильно читаю документацию, это должно делать то, что вы хотите:

(setq ns-right-alternate-modifier nil)

Я не уверен, поддерживается ли это на складе GNU Emacs.

    
ответ дан Nemo 14.06.2011 в 17:34
источник
  • Отлично! Это именно то поведение, которое я пытался достичь; благодаря! –  markhellewell 15.06.2011 в 01:36
  • Ну, используя (setq ns-right-alternate-modifier nil), Alt больше не работает с SHIFT. так: ALT + SHIFT + (-> 5 вместо -> [.: - /. Любая идея? –  PHF 20.11.2011 в 12:02
  • @PHF работает для меня на mac с регулярным дистрибутивом emacs. –  Adam Faryna 03.02.2018 в 16:58
24

Чтобы отобразить левый Alt-ключ с META и клавишей right alt с ALT , в Mac OS X версии GNU Emacs, я использую:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)

Он должен выполнять работу по ожидаемому поведению.

    
ответ дан Speredenn 27.06.2011 в 13:08
источник
  • Это сработало для меня. –  Zolomon 21.05.2013 в 11:28
  • Это тоже помогло мне. –  Albert Veli 11.02.2017 в 19:15
3

Я нашел решение для моего macbook pro с французской клавиатурой.

Учитывая, что я почти никогда не использую ключ Fn здесь, что я сделал:

; ALT считается ALT и не интерпретируется как META
(setq-default mac-option-modifier nil)

; Fn рассматривается как META и не интерпретируется как Fn
(мета-функция-модификатор setq-default-mac-function-modifier) ​​

Таким образом, я могу обманывать с таким количеством косой черты, как я хочу, в emacs!

\\ [БОЛЬШОЕ !!!] \\

    
ответ дан PHF 20.11.2011 в 12:27
источник
  • Почему FN и не осталось Ctrl как META? –  Igor Kupczyński 18.12.2015 в 23:55
  • Вы не сопоставляете CMD для управления? –  Igor Kupczyński 19.12.2015 в 00:04
2

Это не совсем то, что вы хотите, но это то, что я делаю и могу помочь кому-то (например, на клавиатуре Macbook, которая имеет только один ключ опции): вы можете привязать только нужные клавиши:

(global-set-key "\M-_" (lambda () (interactive) (ucs-insert "2014")))

для em dash и т. д. Просто связывайте все, что вы используете. В редком случае вы хотите напечатать что-то, что вы не связали, вы можете (в Aquamacs, и это должно быть возможно и в другом Emacsen) ударить C-; , который привязан к toggle-mac-option-modifier , так что ключ Option отсутствует дольше Meta, введите символ и снова нажмите C-; .

    
ответ дан ShreevatsaR 14.06.2011 в 17:40
источник