Как я могу изменить мета-ключ с alt на cmd на Mac в Emacs 24?

#macos #emacs

#macos #emacs

Вопрос:

Я загрузил предварительное тестирование Emacs 24 для Mac OS X в соответствии с руководством по emacs starter kit. Раньше я использовал Carbon Emacs, как рекомендует версия 1 starter kit, но версия 2 требует от меня обновления Emacs 24.

Проблема в том, что в Carbon Emacs он cmd используется для мета-ключа, но в предварительном тестировании Emacs 24 я должен использовать alt вместо этого.

Есть ли какой-нибудь простой способ изменить привязку клавиш или мне нужно выбрать другую версию?

Ответ №1:

Используйте следующее,

  (setq mac-option-modifier 'super)
 (setq mac-command-modifier 'meta)
  

Комментарии:

1. Это полезно, но ответ Антти Хонкелы имеет то преимущество, что он сохраняет поведение клавиш по умолчанию в OS X (что полезно для ввода определенных важных символов, по крайней мере, на какой-либо неамериканской клавиатуре).

Ответ №2:

Если вы используете международную клавиатуру, которая использует опцию для ввода специальных символов, вам следует добавить следующий код в свой .emacs:

 (setq mac-command-modifier 'meta)
(setq mac-option-modifier nil)
  

Комментарии:

1. Для неамериканской клавиатуры лучше использовать alt как nil, чтобы мы могли записывать символы как ~. Большое спасибо

Ответ №3:

Если вы хотите использовать одну и ту же конфигурацию на нескольких разных компьютерах, которые не все работают под управлением OSX, как я, то вот возможное решение:

 (when (eq system-type 'darwin)
  (setq mac-command-modifier 'meta)
  (setq mac-option-modifier nil))
  

Таким образом, он будет пытаться установить только cmd ⌘, если вы на самом деле на Mac

Комментарии:

1. Привет! Вы случайно не знаете, как сделать их постоянными? Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз после перезапуска Emacs я должен оценивать эту команду. Я имею в виду, что он есть у меня .emacs.d/init.el , но автоматически не работает.

2. Спасибо. Я буду продолжать копать

3. Вероятно, лучше использовать (eq window-system 'ns) в качестве теста — таким образом, вы можете использовать один и тот же файл инициализации как с Emacs, созданным для X11 (например, работающим либо с локальным сервером XQuartz, либо с каким-либо другим удаленным X-сервером), так и с одним, созданным для NeXTSTEP (т. Е. с macOS native).