Emacs unter Mac OS X - Alt oder Befehl?

20

Es ist offiziell. Ich mag es, Emacs unter Mac OS X zu hassen.

Egal was ich tue, ich habe einen Dorn im Auge.

Wenn ich versuche zu schreiben , \mit Alt+ Shift+ 7bekomme ich Fehler , weil Alt== Meta in Emacs. Wenn ich das Metaan den CommandSchlüssel binde , umgehe ich diesen Fehler. Alles ist gut. Bis ich verwenden möchte Meta-Tab. Jetzt versuche ich plötzlich zu Command- Tabweg von Emacs in eine andere Anwendung.

Ich bin im Moment wütend. Kann mir jemand helfen, dieses Problem zu lösen? Ich würde es vorziehen, wenn ich Altda metanicht aquamacs.org installieren und den fnSchlüssel nicht benutzen könnte .

Übrigens, ich verwende das schwedische Gebietsschema.

EDIT 1:

Erste Lösung: fügen Sie (global-set-key [C-tab] [M-tab])zu ~/.emacs. Dies wird die Bindung Meta-taban Control-tabstatt. Nicht was ich ganz wollte, sollte aber funktionieren.

Zolomon
quelle

Antworten:

13

Siehe die Optionen unter M-x customize-group ns

Dort können Sie das Verhalten der Modifikatortasten anpassen. Ich habe das Recht alt auf "No modifier" gesetzt - das ist das gleiche Verhalten wie bei PC-Tastaturen mit Alt-Gr.

Eine andere Einstellung, die ich mag, ist, beide Alt-Tasten zu deaktivieren und functionstattdessen die Taste für Alt zu verwenden.

bdecaf
quelle
Funktioniert für mich ... Du sollst nicht Danke sagen, sondern Danke.
Prof. Falken unterstützt Monica am
11

Ich habe auch dieses Problem seit Jahren! Erst kürzlich habe ich Emacs wieder in OS X ausprobiert. Schließlich habe ich das Problem behoben, indem ich Folgendes in meinen .emacs hinzugefügt habe: (Dies ist mit Emacs 24.3)

(when (eq system-type 'darwin)
  (setq mac-right-option-modifier 'none))
Morten Rasmussen
quelle
Danke dafür! Jetzt kann ich wieder in Emacs! :)
petre
4

Einige Leute, die ich kenne, kaufen aus genau diesem Grund immer Macs mit US-Tastatur.

Ich habe auch Emacs beschimpft (auch auf Schwedisch) und die einzige Lösung, die ich gefunden habe, ist, das US Extended-Layout zu verwenden, aber meine schwedische Tastatur zu verwenden. Ich habe mehrere Jahre mit einer US-Tastatur als Haupttastatur verbracht, damit ich mehr oder weniger wechseln kann, ohne darüber nachzudenken.

Wenn Sie nicht bereit sind, das Layout zu wechseln, ist OS X Emacs auf Schwedisch nur schmerzhaft.


Bearbeiten: Habe gerade einen Hinweis für Spanisch gefunden , der hilfreich sein könnte. Die Idee ist, den Charakter, der an Emacs gesendet wird, dem gewünschten Charakter zuzuordnen. Ich habe es nicht ausprobiert, aber es klingt vielversprechend.

molbdnilo
quelle
Das hätte jetzt behoben sein müssen, könnte man meinen ...
Zolomon
2

Es ist nicht wirklich elegant, aber Sie können die Escape-Taste für Meta verwenden und die Alt-Taste für Sonderzeichen beibehalten. ZB ESC xstatt M-x.

Aber mit molbdnilo einverstanden, saugen die meisten nicht-US-Tastaturen für die Programmierung. Ich habe einmal ein paar Wochen in Finnland gearbeitet und als erstes die KB auf US umgestellt. Sogar das blinde Schreiben war einfacher, als herauszufinden, wie man die Zeichen, die man so oft braucht, in Programmiersprachen schreibt. (naja, eigentlich habe ich als erstes die Sprache gewechselt; zum Glück wusste ich, wie man das mit dem Muskelgedächtnis macht :-)

Peter Frings
quelle
3
Ja, es ist fast so, als ob die gebräuchlichsten Syntaxen von Amerikanern erfunden wurden. ;-)
molbdnilo
1

Ich habe das gleiche Problem, als ich von Linux auf macOS kam, und ich habe es behoben, indem ich meiner emacs-Konfigurationsdatei die folgenden Codes hinzufügte:

;; 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"))))

Bitte beachten Sie, dass dieser Teil der Codes, die mit 'Mac OS X' kommentiert wurden, in der Emacs-Anwendung den optionSchlüssel gegen den commandSchlüssel austauscht, aber in der Gesamtansicht können Sie ihn commanddennoch wie zuvor verwenden.commandcommand+tab

yanyingwang
quelle