rainbow-mode
はグローバルマイナーモードではないため、バッファごとに有効にする必要があります。
私はCSSのためにそれを使用するので、私が持っている:
(add-hook 'css-mode-hook 'my-css-mode-hook)
(defun my-css-mode-hook()
(rainbow-mode 1))
あなたはが真にが、それはどこでも、グローバルになりたい場合は、あなたが簡単にグローバルマイナーモードを自分で定義することができます。
(define-globalized-minor-mode my-global-rainbow-mode rainbow-mode
(lambda() (rainbow-mode 1)))
(my-global-rainbow-mode 1)
を実際ににするかどうかを決定するために、(lambda() (rainbow-mode 1))
関数(すべてのバッファで評価される)に任意のロジックを追加してと呼ぶことができますを使用していますので、elispに慣れていれば、この方法を簡単に拡張して、問題のモードの特定の要件をカバーすることができます。より一般的に
、どのように私は起動時に自動的に任意のモード/パッケージをロードするのですか?
それは変えることができるが、私が示されてきたアプローチは、ほとんどのマイナモードのために十分であろう:あなたはMODE
が有効になっている時はいつでも彼らはあなたがMODE-hook
を使用することができ、その場合には、(いくつかの特定の他のモード名であること)を有効にしたいどちらか変数(これは常に利用可能です)は、css-mode-hook
の例に従います。そうでない場合は、モードを永続的に有効にする必要があります。グローバルなマイナーモードは、グローバルにオンとオフを切り替えることができるため、良いアプローチです。一部のマイナーモードはデフォルトでグローバルになっています(またはグローバルバリアントを提供します)が、my-global-rainbow-mode
の例のように必要に応じて独自のモードを作成できます。
はまた、モードはが(詳細はhttps://stackoverflow.com/a/19295380/324105を参照)、その場合内のすべての関連MODE-hook
フックが実行され、他のモードからを導き出すことができることに注意してください。一般的な使用例は、prog-mode-hook
を使用して、すべて(ほとんどのプログラミングモード)から派生したプログラミングモードを使用可能にすることです。
多くの(願わくはほとんどの)ライブラリとパッケージが使用方法を提供することに注意してください。ドキュメントが見つからない場合は、M-xfind-library
にアクセスしてライブラリファイルにアクセスしてから、上部のコメントを読んでください。多くの場合、非常に有益な「解説」セクションがあり、時にはこれがエンドユーザーのドキュメントの主要なソースであり、その機能を有効にする方法について説明します。
'my-css-mode-hook'を経由せずに'(add-hook 'css-mode-hook' rainbow-mode) 'を実行するだけです。 – Stefan
Stefan:Emacs 24でのみ、それ以外の場合はモードをトグルします。私は誰もがアップグレードされたと想定するつもりはありません。 (そして、私の場合はその機能も他のものをやっているので、私はそれを必要とします:) – phils
ありがとう!私はgoto-address-modeをグローバルに有効にするためにこれを使用しました。最後に、私は.emacsを入れました: '(define-globalized-minor-modeグローバル - goto-address-mode goto-address-mode (lambda()(goto-address-mode 1)))'事故は、モードの設定をチェックしながらカスタマイズの価値を見いだしたので、最終的に私はグローバルモードの起動をカスタマイズすることができました。 – pupitetris