Emacs на Mac OS X - Alt або Command?


21

Це офіційно. Я люблю ненавидіти Emacs на Mac OS X.

Що б я не робив, я отримую шип у бік.

Коли я намагаюся писати \за допомогою Alt+ Shift+, 7я отримую помилки, оскільки Alt== Meta в Emacs. Якщо я прив’язую Metaдо Commandключа, я обминаю цю помилку. Все добре. Поки я хочу використовувати Meta-Tab. Тепер я раптом намагаюся Command- Tabвід Emacs в іншу програму.

На даний момент я лютий, хтось може мені допомогти вирішити цю проблему? Я вважаю за краще, якби міг Altяк meta, а не встановлювати aquamacs.org і не використовувати fnключ.

О, до речі, я використовую шведську мову.

EDIT 1:

Перше рішення: додати (global-set-key [C-tab] [M-tab])до ~/.emacs. Це буде зв'язати Meta-tabз Control-tabзамість. Не те, що я цілком хотів, але повинен працювати.

Відповіді:


13

Дивіться параметри нижче M-x customize-group ns

Там ви можете налаштувати поведінку клавіш-модифікаторів. Я встановив правильний альт на "Без модифікатора" - така ж поведінка, як на клавіатурах ПК з Alt-Gr.

Ще одна настройка, яка мені подобається, - це скинути обидві клавіші alt і використовувати functionключ замість alt.


Працює для мене ... ви не повинні сказати спасибі, але дякую.
Проф. Фолкен підтримує Моніку

11

У мене також ця проблема була роками! Нещодавно я знову спробував Emacs в OS X. Нарешті я вирішив проблему, додавши в моє .emacs таке: (Це з Emacs 24.3)

(when (eq system-type 'darwin)
  (setq mac-right-option-modifier 'none))

Дякую за це! Тепер я можу знову в Emacs! :)
петре

4

Деякі люди, яких я знаю, завжди купують Macs із американськими клавіатурами саме з цієї причини.

Я також лаявся в Emacs (також шведською мовою), і єдине знайдене нами рішення - використовувати розширений макет США, але за допомогою моєї шведської клавіатури. Я кілька років провів за клавіатурою США як основну клавіатуру, щоб я міг перемикатися більш-менш, не думаючи.

Якщо ви не готові йти маршрутом перемикання макета, OS X Emacs шведською мовою просто болісно.


Редагувати: Щойно знайшли підказку для іспанської мови, яка може бути корисною. Ідея полягає в тому, щоб перевпорядкувати персонажа, який надсилається в Emacs, до того, кого ви хочете. Я не пробував цього, але це звучить багатообіцяюче.


Це повинно було бути виправлене до цього часу, ви можете подумати ...
Золомон

2

Це не дуже елегантно, але ви можете використовувати клавішу Escape для мета та зберігати клавішу alt для спеціальних символів. Наприклад, ESC xзамість M-x.

Але погодьтеся з molbdnilo, більшість клавіатур, які не є американськими, відсмоктують програмування. Я колись працював у Фінляндії пару тижнів, і перше, що я зробив, було переключити КБ в США. Навіть сліпе введення було легше, ніж з'ясувати, як набирати ті символи, які вам потрібні так часто, на мовах програмування. (ну, власне, перше, що я зробив - це переключити мову; на щастя, я знав, як це зробити за допомогою м’язової пам’яті :-)


3
Так, це майже так, ніби найпоширеніші синтаксиси були винайдені американцями. ;-)
molbdnilo

1

У мене така ж проблема, коли я прийшов з Linux до macOS, і я вирішив її, додавши наступні коди до свого конфігураційного файлу emacs:

;; check OS type
(cond
 ((string-equal system-type "windows-nt") ; Microsoft Windows
  (progn
    (message "Microsoft Windows")))
 ((string-equal system-type "darwin") ; Mac OS X
  (progn
    (setq mac-option-key-is-meta nil)
    (setq mac-command-key-is-meta t)
    (setq mac-command-modifier 'meta)
    (setq mac-option-modifier nil)
    (message "Mac OS X")))
 ((string-equal system-type "gnu/linux") ; linux
  (progn
    (message "Linux"))))

Зауважте, що ця частина кодів, коментує "Mac OS X", вона буде міняти optionклавішею з commandклавішею в додатку emacs, але, на весь погляд, commandвсе ще commandви можете використовувати так command+tabсамо, як і раніше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.