ErgoEmacsマイナーモードがグローバルにオンになっています。これは基本的な編集のための多くのカスタムキーボードショートカットを定義しています。しかし、私がlispファイルを開くと、slime-modeが自動的に有効になり、M-pとM-nがそれ自身のコマンドで上書きされます。しかし、M-pとM-nは常にergoemacs-modeで定義します。マイナーモードでキーバインディングをロードおよび定義する順序を設定するにはどうすればよいですか?または、どのように私はergoemacsモードのキーバインドを優先させるのですか?2つのEmacsマイナーモードで競合するキーボードショートカット
3
A
答えて
2
たぶん簡単な解決策は、スライムのバインディングを削除することです:
(add-hook 'slime-mode-hook
(lambda()
(define-key slime-mode-map [?\M-p] nil)
(define-key slime-mode-map [?\M-n] nil)))
用心:100%テストされていないguarantedd、変数の名前はスライムモードマップとは異なる場合があります(それはおそらく唯一存在しますスライムモードをロードした後)。
3
マイナーモードでキーバインディングが読み込まれ、定義される順序を設定するにはどうすればよいですか?または、どのように私はergoemacsモードのキーバインドを優先させるのですか?
変数minor-mode-map-alist
のslime-modeより前にErgoEmacsが表示されるようにする必要があると思います。おそらくもっと良い方法がありますが、以下のコードでこれを達成する必要があります。あなたが望むことができたら教えてください。
(require 'cl) (add-hook 'slime-mode-hook (lambda() (let ((elem (first (remove-if-not (lambda (item) (equal 'ergoemacs-mode (car item))) minor-mode-map-alist)))) (setq minor-mode-map-alist (remove elem minor-mode-map-alist)) (add-to-list 'minor-mode-map-alist elem))))
関連する問題
- 1. Emacsのバッファローカルにマイナーモードのキーバインディングをオーバーライド
- 2. Emacsはモードラインにどのマイナーモードをリストするのですか?
- 3. 1つのWebリクエストで2つのAutofacコンテナが競合する
- 4. jQueryの2つのライブラリ間の競合
- 5. ページ内の2つのドロップダウン(競合)
- 6. 2つのjavascriptファイルの競合
- 7. ButterKnifeとダガー2つの競合
- 8. 2つのJavaScriptの間で競合が発生する
- 9. ライブラリの2つの競合するバージョンをリンクする
- 10. Emacsでは、2行を1つに結合する方法は?
- 11. 異なるパラメータ設定のコントローラでの2つのアクション競合
- 12. デフォルトの顔を一時的に変更するためのemacsマイナーモード
- 13. 2つのホームコントローラと競合しますが、異なるWebプロジェクトで競合していますか?
- 14. 2つのgitリポジトリ間の競合を検出する方法。
- 15. 2つの遅延リストタイプの競合をマージする
- 16. 1つのデバイスでSalesForce Sdkと競合する2つのAndroidアプリ
- 17. 2つのバージョンのSQL Serverを使用した照合競合
- 18. 2 UIPageViewControllerジェスチャの競合
- 19. 参照されている2つのアセンブリの間の競合
- 20. 2つの異なるコントローラのWeb Apiルーティング競合?
- 21. iphone/ipad - 2つの異なるターゲット、表示コントローラ内の競合
- 22. Emacs - メジャーモードに入るとマイナーモードに自動的に入る方法は?
- 23. AgdaシンボルのEmacsキーボードショートカットとは何ですか?
- 24. C#GTK 2&3競合Emgucv
- 25. 評価は2つのフォームと競合します
- 26. 関数名は2つの異なるライブラリのPHPで競合します
- 27. 同じサーバー上の2つのLaravelプロジェクトで競合が発生する
- 28. .emacsループを使用していくつかのメジャーモードにマイナーモードを割り当てます。
- 29. キャンバス描画用のjavascriptの2つの関数との競合
- 30. androidの読書連絡先の2つのバージョン間の競合
感謝しました!解決策はまだまだハッキーです。マイナーモードがどのような順序でロードされるかはどのように決定されますか?おそらく、このメカニズムを理解すればより洗練されたソリューションが生まれるかもしれません。 –
ほとんどのライブラリは、 'autoload'メカニズムを介してオンデマンドでロードされるか、または' require'を介して明示的にロードされます。ロード順序を完全に任意に扱うべきですが、あなたのinitファイルは、単にそのファイルの内容を並べ替えるだけです。レットバインディングは、より簡潔/明確な '(assoc ')メソッドと同等です。これは、以下のような便利な機能があります。http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 – phils
letバインディングは、 ergomacs-mode minor-mode-map-alist) 'を使用します。この場合、' assoc'の代わりに 'assq'を使うことができます – Felipe