Невозможно ввести скобки и квадратные скобки в Emacs
Я использую Mac OS X и GNU Emacs 22.3.1. Я использую шведскую клавиатуру. Я не могу набрать фигурные скобки {
}
, [
]
в Emacs. При попытке ввести скобки я получаю скобки. Так как я довольно новичок в Mac и emacs, мне нужна небольшая помощь по настройке emacs, чтобы сделать это правильно.
9 ответов
(setq mac-option-modifier nil
mac-command-modifier 'meta
x-select-enable-clipboard t)
Это то, что я использую для своей шведской клавиатуры. Он даже работает со свораком А5, если вы им пользуетесь:)
Вы также можете попробовать:
(setq mac-option-key-is-meta t)
(setq mac-right-option-modifier nil)
Я предполагаю, что вы используете графический 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" при редактировании файла.)
(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, и для всех старых функций Mx вам придется использовать вашу командную клавишу.
Свяжите соответствующие сочетания клавиш с анонимными функциями, которые вставляют эти символы, например, добавьте эти строки в ~/.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 V A работают, но они не поддерживают эту совместимость, например Cmd-Q
больше не выходит из программы и M-x
больше не вызывает мини-буфер для выполнения команд.
Решение @patrikha не подходит для сенсорного набора текста, для которого требуются одинаковые команды-модификаторы справа и слева от клавиатуры (Command, Alt/Option, Shift и Control). Например, с этим решением M-x
требуется большой палец слева Alt
ключ и левый указательный палец на S
ключ, вместо правого большого пальца справа Alt
ключ. Вы могли бы (setq mac-left-option-modifier nil)
, но это может потребовать изменения привычек для букв на правой стороне клавиатуры.
Примечания: Если вы используете AquaMacs, в вики есть обходной путь в разделе "Ввод {}[] и т. Д. На неанглоязычных клавиатурах или других клавишах с модификатором Option".
Я также добавляю эту строку в конец ./emacs
показать соответствие скобок и скобок: (show-paren-mode)
,
Использование Aquamacs:
В главном меню выберите "Параметры" - "Параметры", "Команда", "Метаклавы" и выберите "параметр для составных символов".
Скобки и скобки работают как со стандартной клавиатурой Mac.
Я бы попробовал Emacs на основе Какао, то есть версию 23. Для интегрированных в Mac Emacs я бы попробовал Aquamacs
У меня была такая же проблема с французской клавиатурой. Это похоже на проблему Aquamacs (Carbon Emacs не заменяет {на ()).
Изменения в emacs выше работают нормально, и я могу набирать скобки, но я больше не могу использовать стандартные ярлыки (например, Ctrl+C/Ctrl+V).
Aquamacs предоставляет обходной путь. Строка меню> Параметры> Параметры, Команда, Мета-клавиши> Выбрать... Мета и французский
Это работало нормально для меня. Однако это может не работать для шведской, без шведской клавиатуры.
Вам не нужно запоминать эти программы как вещи: вот ответ. Перейдите в настройки клавиатуры и установите флажок "Показать средство просмотра клавиатуры и символов в строке меню". После этого проверьте значок в строке меню рядом с индикатором заряда батареи и начните двойной щелчок на любом символе, который вы хотите.