Emacs na Mac OS X - Alt lub Command?

21

To jest oficjalne. Uwielbiam nienawidzić Emacsa w Mac OS X.

Bez względu na to, co robię, mam cierń na boku.

Kiedy próbuję pisać \za pomocą Alt+ Shift+ 7, dostaję błędy, ponieważ Alt== Meta w Emacsie. Jeśli powiązam klucz Metaz Commandkluczem, obejdę ten błąd. Wszystko w porządku. Aż chcę użyć Meta-Tab. Teraz nagle próbuję Command- Tabod Emacsa przejść do innej aplikacji.

W tej chwili jestem wściekły, czy ktoś mógłby mi pomóc rozwiązać ten problem? Wolałbym go, czy mogę mieć Altjak metanie instalować aquamacs.org i nie używać fnklucza.

A tak przy okazji, używam szwedzkich ustawień regionalnych.

EDYCJA 1:

Pierwsze rozwiązanie: dodaj (global-set-key [C-tab] [M-tab])do ~/.emacs. Będzie to krawat Meta-tab, aby Control-tabzamiast. Nie to, co całkowicie chciałem, ale powinno działać.

Zolomon
źródło

Odpowiedzi:

13

Zobacz opcje poniżej M-x customize-group ns

Tam możesz dostosować zachowanie klawiszy modyfikujących. Ustawiłem właściwy alt na „Brak modyfikatora” - to samo zachowanie, co na klawiaturach PC z Alt-Gr.

Innym ustawieniem, które lubię, jest rozbrojenie obu klawiszy Alt i użycie tego functionklawisza zamiast Alt.

bdecaf
źródło
Działa dla mnie ... nie powinieneś dziękować, ale dziękuję.
Prof. Falken popiera Monikę
11

Miałem również ten problem od lat! Niedawno ponownie wypróbowałem Emacsa w OS X. W końcu naprawiłem problem, dodając następujące elementy do mojego .emacs: (To dotyczy Emacsa 24.3)

(when (eq system-type 'darwin)
  (setq mac-right-option-modifier 'none))
Morten Rasmussen
źródło
Dziękuję Ci za to! Teraz mogę znowu ăâșț w emacs! :)
petre
4

Niektóre osoby, które znam, zawsze kupują komputery Mac z klawiaturami amerykańskimi właśnie z tego powodu.

Przeklinałem także Emacsa (również po szwedzku) i jedynym rozwiązaniem, jakie znalazłem, jest użycie układu US Extended, ale przy użyciu mojej szwedzkiej klawiatury. Spędziłem kilka lat z klawiaturą amerykańską jako główną klawiaturą, więc mogę przełączać się mniej więcej bez zastanowienia.

Jeśli nie chcesz iść drogą zmiany układu, OS X Emacs po szwedzku jest po prostu bolesny.


Edycja: Właśnie znalazłem podpowiedź do hiszpańskiego, która może być pomocna. Chodzi o to, aby ponownie przypisać postać, która zostanie wysłana do Emacsa, na tę, którą chcesz. Nie próbowałem tego, ale brzmi obiecująco.

molbdnilo
źródło
To powinno być już naprawione, pomyślałbyś ...
Zolomon
2

Nie jest to naprawdę eleganckie, ale możesz użyć klawisza Escape do meta i zachować klawisz Alt dla znaków specjalnych. Np. ESC xZamiast M-x.

Ale zgódź się z molbdnilo, większość klawiatur poza USA jest do bani dla programowania. Kiedyś pracowałam w Finlandii przez kilka tygodni, a pierwszą rzeczą, którą zrobiłem, była zmiana KB na US. Nawet pisanie na ślepo było łatwiejsze niż wymyślanie, jak często wpisywać te znaki w językach programowania. (cóż, właściwie pierwszą rzeczą, jaką zrobiłem, było przełączenie języka; na szczęście wiedziałem, jak to zrobić za pomocą pamięci mięśniowej :-)

Peter Frings
źródło
3
Tak, to prawie tak, jakby najpopularniejsze składnie zostały wymyślone przez Amerykanów. ;-)
molbdnilo
1

Mam ten sam problem, kiedy przeszedłem z systemu Linux na macOS i rozwiązałem go, dodając następujące kody do mojego pliku konfiguracyjnego 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"))))

Zwróć uwagę na tę część kodów, która skomentowała „Mac OS X”, zamieni optionklucz na commandklucz w aplikacji emacs, ale w całym widoku commandnadal commandmożna go używać command+tabtak jak wcześniej.

yanyingwang
źródło