Невозможно ввести скобки и квадратные скобки в Emacs - PullRequest
39 голосов
/ 31 июля 2010

Я использую Mac OS X и GNU Emacs 22.3.1.Я использую шведскую клавиатуру.Я не могу набрать фигурные скобки { }, [ ] в emacs.При попытке ввести скобки я получаю скобки.Поскольку я довольно новичок в Mac и emacs, мне нужна небольшая помощь по настройке emacs, чтобы понять это правильно.

Ответы [ 9 ]

59 голосов
/ 31 июля 2010
(setq mac-option-modifier nil
      mac-command-modifier 'meta
      x-select-enable-clipboard t)

Это то, что я использую для своей шведской клавиатуры.Он даже работает со свораком А5, если вы им пользуетесь:)

25 голосов
/ 29 октября 2012

Вы также можете попробовать:

(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)
8 голосов
/ 01 августа 2010

Я предполагаю, что вы используете графический emacs, а не просто используете версию OS X из терминала.

Чтобы гарантировать, что Emacs реагирует на нажатия клавиш так же, как и другие OS Xприложения, попробуйте следующее:

(setq default-input-method "MacOSX")

И, в частности, если вы хотите использовать клавишу Option для ввода расширенных символов, не находящихся на вашей клавиатуре (например, «Option-c c» => «ç»),используйте эти настройки:

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

(Поместите эти команды в файл запуска ~ / .emacs или ~ / .emacs.d / init.el emacs и перезапустите Emacs, или просто "Mx eval-buffer"при редактировании файла.)

5 голосов
/ 23 апреля 2011
(setq default-input-method "MacOSX")

(setq mac-command-modifier 'meta
      mac-option-modifier nil
      mac-allow-anti-aliasing t
      mac-command-key-is-meta t)

Попробуй это. Вы сможете использовать клавишу Alt в качестве AltGR, и для всех старых функций M-x вам придется использовать вашу командную клавишу.

3 голосов
/ 18 апреля 2018

Свяжите соответствующие сочетания клавиш с анонимными функциями, которые вставляют эти символы, например, добавьте эти строки в ~/.emacs для европейского португальского языка:

(global-set-key "\M-(" (lambda () (interactive) (insert "{")))
(global-set-key "\M-)" (lambda () (interactive) (insert "}")))

(global-set-key "\M-8" (lambda () (interactive) (insert "[")))
(global-set-key "\M-9" (lambda () (interactive) (insert "]")))

Затем сохраните ~/.emacs с помощью C-x C-s и перезагрузите егос M-x load-file и типом ~/.emacs.

Одним недостатком является то, что это не работает в мини-буфере, и ввод «Alt-9» вставит текст в буфер ине мини-буфер.

Сравнение с другими решениями : Это решение поддерживает совместимость с другими ярлыками, использующими M-.Решения @monotux, @sanityinc и Abdul Bijur VA работают, но они не поддерживают эту совместимость, например, Cmd-Q больше не выходит из программы и M-x больше не вызывает мини-буфер для выполнения команд.

Решение @patrikha не подходит для сенсорного набора, для которого требуются одинаковые команды модификаторов в правой и левой частях клавиатуры (Command, Alt / Option, Shift и Control).Например, в этом решении для выполнения M-x требуется большой палец левой руки на левой клавише Alt и указательный палец левой руки на клавише S вместо большого пальца вправо справа Altключ.Вы можете (setq mac-left-option-modifier nil), но это может потребовать изменения привычек для букв на правой стороне клавиатуры.

Примечания : Если вы используете AquaMacs, wiki имеет обходной путь в разделе «Ввод {} [] и т. д. на неанглийских клавиатурах или других клавишах с модификатором Option».

Я также добавляю эту строку в конец ./emacsпоказать соответствие скобок и скобок: (show-paren-mode).

1 голос
/ 02 июня 2013

Использование Aquamacs:

В главном меню перейдите в «Параметры» - «Параметр», «Команда», «Мета-ключи» и выберите «параметр для составных символов».

Скобки и скобки работают какстандартная клавиатура Mac.

1 голос
/ 02 марта 2012

У меня была такая же проблема с французской клавиатурой.Это похоже на проблему Aquamacs (Carbon Emacs не заменяет {на ()).

Изменения в emacs выше работают нормально, и я мог набирать скобки, но я больше не мог использовать стандартные ярлыки (например, Ctrl + C / Ctrl + V).

Aquamacs предоставляет обходной путь.Строка меню> Параметры> Параметр, Команда, Мета-клавиши> Выбрать ... Мета и французский

У меня все работало нормально.Однако это может не сработать для шведской, без шведской клавиатуры.

1 голос
/ 31 июля 2010

Я бы попробовал Emacs на основе Какао, то есть версию 23. Для интегрированных в Mac Emacs я бы попробовал Aquamacs

0 голосов
/ 11 мая 2013

Вам не нужно запоминать эти программы как вещи: вот ответ. Перейдите в настройки клавиатуры и установите флажок «Показать средство просмотра клавиатуры и символов в строке меню». После этого проверьте значок в строке меню рядом с индикатором заряда батареи и начните дважды щелкать любой символ, который вы хотите.

...