chave de prefixo emacs e grupos de trabalho2

1

Eu estou tentando usar o workgroups2 que eu instalei a partir do gerenciador de pacotes emacs embutido elpa. Do arquivo leia-me:

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

Note que eu uso o emacs 24.3 e o Ubuntu 12.04 LTS

  1. Qual é a chave do prefixo para essa situação?

Toda ajuda é muito apreciada e deixe-me saber se você precisar de mais informações!

EDITAR: Workgroups2 não está carregando quando inicio o emacs. Não reconhecerá nenhum dos comandos. Ele só funciona depois que eu iniciei o emacs e se eu recarregar meu arquivo .emacs e se eu tiver o seguinte no meu arquivo .emacs :

(autoload 'workgroups-mode "workgroups2")

Como obtenho o emacs para carregar automaticamente grupos de trabalho? Eu teria pensado que o acima teria bastado. Vale a pena notar que eu baixei workgroups2 da melpa e eu não deveria precisar de nada disso ...

    
por CodeKingPlusPlus 17.08.2013 / 17:12

2 respostas

3

Respondendo a pergunta

Aaron estava certo. Esta linha é responsável pela chave do prefixo:

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

Então, por exemplo - se você quiser criar um grupo de trabalho - pressione C-c z c

Instalação

É melhor compilar arquivos de extensão.

Eu facilitei a instalação - basta instalar a extensão e colocar essas linhas em algum lugar no end de ".emacs". Isso é tudo.

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

Observe que, se você usar emacs --daemon , desative o carregamento automático de grupos de trabalho:

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

E carregue-os manualmente (ao criar um quadro).

Notas

Eu verifiquei esta extensão no Ubuntu (o mais recente Emacs do git repo) e no Windows (Emacs 24.3)

Para Aaron:
Aaron, eu acabei de desativar esses remapeamentos por padrão (eu simplesmente não enfrentei esse problema)

Para todos:

  1. É melhor postar bugs no Github
  2. (não é uma desculpa real) Mas, por favor, considere que esta extensão foi tirada do ramo experimental e a maior parte do código não foi escrita por mim.
  3. Se você é um bom hacker do Emacs - você é sempre bem-vindo para corrigir o código e ser um colaborador (para não repetir o destino do repositório original)

Dicas de teste

Se você quiser verificar apenas a extensão workgroups2:

Supondo que você tenha extraído em ~/.emacs.d/elisp/extensions/ use este comando:

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

com 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)"
    
por 26.08.2013 / 18:12
2

A chave de prefixo é definida pelo usuário do módulo, em vez de ser especificada pelo autor do módulo. De acordo com o readme do grupo de trabalho2 , definir sua própria chave de prefixo faz parte da configuração do módulo:

Configure

Load a module (if you installed it not from Melpa):

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

and set some parameters:

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

A linha de interesse particular aqui é esta:

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

Aqui é onde a chave de prefixo é definida. Você tem essa linha em seu código de inicialização do Emacs em algum lugar? Se não, adicione um, em algum lugar antes de onde o grupo de trabalho está ativado via (workgroups-mode 1) , e você deve estar pronto.

Testado com uma nova instalação do pacote workgroups2 no GNU Emacs 24.3. (E eu gostaria de não ter, porque a coisa estúpida sequestrou C-x C-<left> e C-x C-<right> !)

    
por 21.08.2013 / 16:27