chiave prefisso emacs e workgroups2


1

Sto cercando di utilizzare workgroups2 che ho installato dal gestore pacchetti emacs incorporato elpa. Dal file Leggimi:

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

Nota che utilizzo emacs 24.3 e Ubuntu 12.04 LTS

  1. Qual è la chiave di prefisso per questa situazione?

Tutto l'aiuto è molto apprezzato e fammi sapere se hai bisogno di maggiori informazioni!

EDIT: Workgroups2 non si carica quando avvio emacs. Non riconoscerà nessuno dei comandi. Funziona solo dopo aver avviato emacs e se ricarico il mio .emacsfile e se ho i seguenti nel mio .emacsfile:

(autoload 'workgroups-mode "workgroups2")

Come faccio a far emacs per caricare automaticamente i gruppi di lavoro? Avrei pensato che quanto sopra sarebbe bastato. Vale la pena notare che ho scaricato workgroups2 da melpa e non avrei bisogno di nulla di tutto questo ...

Risposte:


3

Rispondere alla domanda

Aaron aveva ragione. Questa riga è responsabile per la chiave prefisso:

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

Ad esempio, se si desidera creare un gruppo di lavoro, premere C-c z c

Installazione

È meglio compilare file di estensione.

Ho semplificato l'installazione - basta installare l'estensione e mettere queste righe da qualche parte alla fine di ".emacs". È tutto.

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

Se lo usi emacs --daemon, disabilita il caricamento automatico dei gruppi di lavoro:

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

E caricarli manualmente (durante la creazione di una cornice).

Gli appunti

Ho controllato questa estensione sotto Ubuntu (ultimo Emacs da git repo) e Windows (Emacs 24.3)

Per Aaron:
Aaron, ho appena disabilitato questi rimappaggi di default (semplicemente non ho riscontrato questo problema)

A tutti:

  1. È meglio pubblicare bug su Github
  2. (non una vera scusa) Ma per favore considera che questa estensione è stata presa dal ramo sperimentale e la maggior parte del codice non è stata scritta da me.
  3. Se sei un buon hacker di Emacs, sei sempre il benvenuto a correggere il codice ed essere un collaboratore (per non ripetere il destino del repository originale)

Suggerimenti per i test

Se vuoi controllare solo l'estensione workgroups2:

Supponendo di averlo estratto in ~/.emacs.d/elisp/extensions/uso questo comando:

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

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

Dovresti dare un'occhiata al mio altro post: superuser.com/questions/635013/…
CodeKingPlusPlus

2

La chiave del prefisso è definita dall'utente del modulo, anziché essere specificata dall'autore del modulo. Secondo il readme di workgroups2 , l'impostazione della propria chiave prefisso fa parte della configurazione del modulo:

Configurazione

Carica un modulo (se non lo hai installato da Melpa):

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

e imposta alcuni parametri:

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

La linea di particolare interesse qui è questa:

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

Qui è dove viene definita la chiave del prefisso. Hai una linea simile nel tuo codice di inizializzazione Emacs da qualche parte? In caso contrario, aggiungine uno, da qualche parte prima del punto in cui viene attivata la modalità gruppi di lavoro (workgroups-mode 1)e dovresti essere a posto.

Testato con una nuova installazione del pacchetto workgroups2 su GNU Emacs 24.3. (E vorrei non averlo fatto, perché la cosa stupida è stata dirottata C-x C-<left>e C-x C-<right>!)


Dai un'occhiata alla mia modifica. I gruppi di lavoro non vengono caricati all'avvio di emacs e non riesco a capire come ottenerlo anch'io ...
CodeKingPlusPlus

@CodeKingPlusPlus Considera questa risposta da una situazione simile : è spesso utile chiamare esplicitamente (package-initialize)ad un certo punto durante l'inizializzazione, in modo che i pacchetti ELPA vengano caricati prima che init sia terminato e che in seguito possano essere gestiti nel solito modo.
Aaron Miller,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.