Emacs-Präfix-Schlüssel und Arbeitsgruppen2

976
CodeKingPlusPlus

Ich versuche, workgroups2 zu verwenden, das ich mit dem eingebauten emacs package manager elpa installiert habe. Aus der Readme-Datei:

Most commands are bound to both <prefix> <key> and <prefix> C-<key>.  <prefix> <key> <prefix> c - create workgroup <prefix> k - kill workgroup <prefix> v - switch to workgroup <prefix> C-s - save session <prefix> C-f - load session  Help  Type <prefix> ? (Eval (wg-help)) for more help.  This will bring up a help buffer listing all the commands and their bindings.  See the customization section in the source for details, or use:  M-x customize-group RET workgroups RET 

Beachten Sie, dass ich Emacs 24.3 und Ubuntu 12.04 LTS verwende

  1. Was ist der Präfixschlüssel für diese Situation?

Alle Hilfe wird sehr geschätzt, und lassen Sie mich wissen, wenn Sie weitere Informationen benötigen!

BEARBEITEN: Workgroups2 wird nicht geladen, wenn ich Emacs starte. Es erkennt keinen der Befehle. Es funktioniert nur, nachdem ich emacs gestartet habe und wenn ich meine .emacsDatei neu lade und wenn ich Folgendes in meiner .emacsDatei habe:

(autoload 'workgroups-mode "workgroups2") 

Wie kann ich emacs dazu bringen, Arbeitsgruppen automatisch zu laden? Ich hätte gedacht, dass das Obige genügt hätte. Es ist erwähnenswert, dass ich workgroups2 von melpa heruntergeladen habe und davon nichts brauchen sollte ...

1

2 Antworten auf die Frage

3
Sergey

Beantwortung der Frage

Aaron hatte recht. Diese Zeile ist für den Präfixschlüssel verantwortlich:

(setq wg-prefix-key (kbd "C-c z")) ;; and it's by default now 

Wenn Sie beispielsweise eine Arbeitsgruppe erstellen möchten, drücken Sie C-c z c

Installation

Es ist besser, Erweiterungsdateien zu kompilieren.

Ich habe die Installation vereinfacht - einfach die Erweiterung installieren und diese Zeilen irgendwo am Ende von ".emacs" einfügen. Das ist alles.

(require 'workgroups2) ;; change some settings (workgroups-mode 1) 

Beachten Sie emacs --daemonFolgendes, wenn Sie - das automatische Laden von Arbeitsgruppen deaktivieren:

(setq wg-use-default-session-file nil) 

Und laden Sie sie manuell (beim Erstellen eines Rahmens).

Anmerkungen

Ich habe diese Erweiterung unter Ubuntu (neueste Emacs von git repo) und Windows (Emacs 24.3) überprüft.

An Aaron:
Aaron, ich habe gerade diese Remappings standardmäßig deaktiviert (ich bin einfach nicht mit diesem Problem konfrontiert)

An alle:

  1. Es ist besser, Fehler auf Github zu posten
  2. (keine echte Ausrede) Beachten Sie jedoch, dass diese Erweiterung aus dem experimentellen Zweig stammt und der größte Teil des Codes nicht von mir geschrieben wurde.
  3. Wenn Sie ein guter Emacs-Hacker sind, können Sie den Code jederzeit korrigieren und ein Mitarbeiter sein (um das Schicksal des ursprünglichen Repos nicht zu wiederholen).

Testtipps

Wenn Sie nur die Erweiterung workgroups2 überprüfen möchten:

Angenommen, Sie haben es ~/.emacs.d/elisp/extensions/mit folgendem Befehl extrahiert :

emacs -Q -L ~/.emacs.d/elisp/extensions/workgroups2/src -l cl.el -l workgroups2.el --eval '(workgroups-mode 1)' 

mit ido.el:

emacs -Q -L ~/.emacs.d/elisp/extensions/workgroups2/src -l cl.el -l ido.el -l workgroups2.el --eval "(ido-mode t)" --eval "(workgroups-mode 1)" 
Sie sollten meinen anderen Beitrag überprüfen: http://superuser.com/questions/635013/emacs-workgroups-and-interpreters CodeKingPlusPlus vor 10 Jahren 0
2
Aaron Miller

Der Präfixschlüssel wird vom Benutzer des Moduls definiert und nicht vom Modulautor angegeben. Gemäß der Readme-Datei für Workgroups2 ist das Festlegen eines eigenen Präfixschlüssels Teil der Konfiguration des Moduls:

Konfigurieren

Laden Sie ein Modul (wenn Sie es nicht von Melpa installiert haben):

(add-to-list 'load-path "~/.emacs.d/extensions/workgroups2") (require 'workgroups2) 

und einige Parameter einstellen:

;; Settings: (desktop-save-mode t) ; save all opened files (or disable it) (setq wg-prefix-key (kbd "C-c z") wg-restore-associated-buffers nil ; restore all buffers opened in this WG? wg-use-default-session-file nil ; turn off for "emacs --daemon" wg-default-session-file "~/.emacs_files/workgroups" wg-use-faces nil wg-morph-on nil) ; animation off  ;; Keyboard shortcuts - load, save, switch (global-set-key (kbd "<pause>") 'wg-reload-session) (global-set-key (kbd "C-S-<pause>") 'wg-save-session) (global-set-key (kbd "s-z") 'wg-switch-to-workgroup) (global-set-key (kbd "s-/") 'wg-switch-to-previous-workgroup)  (workgroups-mode 1) ; Activate workgroups 

Die Linie von besonderem Interesse ist hier:

(setq wg-prefix-key (kbd "C-c z") 

Hier wird der Präfixschlüssel definiert. Haben Sie eine solche Zeile in Ihrem Emacs-Initialisierungscode? Ist dies nicht der (workgroups-mode 1)Fall, fügen Sie an einer Stelle, an der der Workgroups-Modus aktiviert ist, einen hinzu, und Sie sollten bereit sein.

Getestet mit einer Neuinstallation des Pakets workgroups2 auf GNU Emacs 24.3. (Und ich wünschte, ich hätte es nicht getan, weil das dumme Ding gekapert wurde C-x C-<left>und C-x C-<right>!)

Schau dir meine Bearbeitung an. Workgroups wird beim Start von emacs nicht geladen und ich kann nicht herausfinden, wie ich es auch bekomme ... CodeKingPlusPlus vor 10 Jahren 0
@CodeKingPlusPlus Betrachten Sie [diese Antwort aus einer ähnlichen Situation] (http://superuser.com/a/631938/162434) - es ist oft nützlich, `(package-initialize)` irgendwann während der Initialisierung explizit aufzurufen, so dass ELPA Pakete werden geladen, bevor init abgeschlossen ist, und können danach wie gewohnt verwaltet werden. Aaron Miller vor 10 Jahren 0