emacsプレフィックスキーとワークグループ2


1

組み込みのemacsパッケージマネージャーelpaからインストールしたworkgroups2を使用しようとしています。readmeファイルから:

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

私はemacs 24.3とUbuntu 12.04 LTSを使用していることに注意してください

  1. この状況のプレフィックスキーとは何ですか?

すべてのヘルプは大歓迎であり、さらに情報が必要な場合はお知らせください!

編集: Workgroups2は、emacsの起動時に読み込まれません。どのコマンドも認識しません。emacsを起動した後、.emacsファイルをリロードし、ファイルに次のものがある場合にのみ機能し.emacsます。

(autoload 'workgroups-mode "workgroups2")

emacsを使用してワークグループを自動的にロードするにはどうすればよいですか?上記で十分だと思いました。melpaからworkgroups2をダウンロードしましたが、これは必要ありません...

回答:


3

質問に答える

アーロンは正しかった。この行は、プレフィックスキーを担当します。

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

たとえば、ワークグループを作成する場合-を押します C-c z c

設置

拡張ファイルをコンパイルすることをお勧めします。

インストールを簡単にしました-拡張機能をインストールして、これらの行を ".emacs"の最後に配置してください。それで全部です。

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

使用する場合emacs --daemonは、ワークグループの自動読み込みを無効にすることに注意してください。

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

そして、それらを手動でロードします(フレームを作成するとき)。

ノート

Ubuntu(git repoの最新のEmacs)およびWindows(Emacs 24.3)でこの拡張機能を確認しました

アーロンに:
アーロン、デフォルトでこれらの再マッピングを無効にしました(この問題に直面しなかっただけです)

すべてに:

  1. Githubにバグ投稿する方が良い
  2. (本当の言い訳ではありません)しかし、この拡張機能は実験的なブランチから取られたものであり、コードの大部分は私が書いたものではないことを考慮してください。
  3. あなたが優秀なEmacsハッカーなら、コードを修正して協力者になることをいつでも歓迎します(元のリポジトリの運命を繰り返さないために)

テストのヒント

workgroups2拡張のみを確認する場合:

以下の~/.emacs.d/elisp/extensions/コマンドを使用して抽出したと仮定します。

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

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

私の他の投稿をチェックアウトする必要があります
CodeKingPlusPlus

2

プレフィックスキーは、モジュールの作成者が指定するのではなく、モジュールのユーザーが定義します。workgroups2 readmeによると独自のプレフィックスキーの設定は、モジュールの構成の一部です。

構成する

モジュールをロードします(Melpa以外からインストールした場合):

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

そして、いくつかのパラメーターを設定します。

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

ここで特に関心のある行はこれです:

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

ここで、プレフィックスキーが定義されます。Emacs初期化コードのどこかにそのような行がありますか?そうでない場合は、ワークグループモードがを介してアクティブ化される場所の前に1つ追加(workgroups-mode 1)します。

GNU Emacs 24.3にworkgroups2パッケージを新規インストールしてテストしました。(そして、私は愚かな事が乗っ取らので、私は、ないよかったC-x C-<left>C-x C-<right>!)


編集内容を確認してください。emacsの起動時にワークグループが読み込まれず、取得方法もわかりません
...-CodeKingPlusPlus

@CodeKingPlusPlus 同様の状況からこの回答を検討してください。(package-initialize)初期化中のある時点で明示的に呼び出すと、initが完了する前にELPAパッケージがロードされ、その後通常の方法で管理できるようになることがよくあります。
アーロンミラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.