"Cmd" + "W" neu zuordnen, um den Puffer in Aquamacs zu töten?

362
Schwern

In Aquamacs 3.2 möchte ich cmd+ neu zuordnen, Wdamit der aktuelle Puffer abgebrochen wird, anstatt den Frame zu schließen. Ich verwende Aquamacs in einem klassischen Emacs-Stil mit einem Fenster. Daher schließe ich Puffer häufiger als Fenster.

Ich habe dies in meinem .emacsFall ohne Erfolg versucht .

(global-unset-key [?\s-w]) (define-key global-map [?\s-w] 'kill-buffer) 

Ich habe auch eine Variation dieser Antwort ausprobiert , aber das Fenster wird immer noch zerstört.

(defun kill-current-buffer () (interactive) (kill-buffer (current-buffer))) (global-unset-key (kbd "s-w")) (global-set-key (kbd "s-w") 'kill-current-buffer) 

Ich habe auch versucht, diesen Code ~/Library/Preferences/Aquamacs Emacs/Preferences.elwie in dieser Antwort vorgeschlagen einzufügen .

Ich habe damit bestätigt, describe-functiondass es geladen ist.

kill-current-buffer is an interactive Lisp function in `.emacs'.  It is bound to s-W.  (kill-current-buffer)  Not documented. 
1
Konnten Sie feststellen, ob Voreinstellungen, die Sie möglicherweise hinzufügen, eingelesen werden? JonathanS vor 9 Jahren 0
@JonathanS Ja, `.emacs` und` ~ / Library / Preferences / Aquamacs Emacs / Preferences.el` werden definitiv eingelesen, da ich andere Präferenzen habe. Selbst wenn ich "eval-region" für den Code verwende, funktioniert es nicht. Ich habe mit `description-function 'verifiziert, dass es geladen wird. Schwern vor 9 Jahren 0

1 Antwort auf die Frage

1
Schwern

Es sind zwei Dinge im Gange. Zunächst hat Aquamacs die Mac OS X-Befehlstaste auf neu zugewiesen alt. So soll es sein (global-set-key '[(alt w)] 'kill-current-buffer).

Aber das gibt eine Warnung wegen der zweiten Sache, osx-key-modehat seine eigene definiert osx-key-mode-map. Emacs schlägt vor, diesen Schlüssel in dieser Keymap mit neu zu definieren define-key.

(defun kill-current-buffer () (interactive) (kill-buffer (current-buffer))) (when (boundp 'osx-key-mode-map) (define-key osx-key-mode-map '[(alt w)] 'kill-current-buffer)) 
Großartig. Wie haben Sie festgestellt, dass die OS X-Befehlstaste zu alt zugewiesen wurde? JonathanS vor 9 Jahren 0
@JonathanS Ich habe festgestellt, dass die Funktion geladen wurde, aber das Problem könnte sein, dass meine Schlüsselbindung falsch war. Bei der Suche nach Informationen zu Tastenkombinationen erwähnte jemand, dass die Befehlstaste mit Alt verknüpft wurde. Ich habe es versucht und es hat funktioniert. Schwern vor 9 Jahren 0