質問: 方法:use-packageで電力線を使用する場合、メジャーモードの文字列を喜ばせる? 私は `powerline` で初期化しているので、 `use-package` のメジャーモード文字列(モードライン)を `delight` use-package そのものです。 私の推測では、誤った時刻に`:delight` 部分が発生し、 `mode-line-format` が更新されたメジャーモード文字列なしで設定されていると思います。 > powerline は`:disabled` です)。 この問題を解決するための良いアプローチは何ですか? Here is my ~~init-mode-line.el~~ for reference. New link: init-mode-line.el.
回答: 簡単な答えは、 `powerline` と `delight` は直接互換性がないということです。 `delight` (新しいバージョン1.04)に変更を加えました。このような統合を一般的に可能にするために、 `delight-powerline` ライブラリは、特に電力線を扱うために構築されています。 *元の回答が続きます* さてあなたの設定を試しました。私の最初のコメントは、ほとんどのあなたの:喜びの仕様で*デフォルト*モード名を指定しているようですが、それはちょっと変です。例えばorg-mode *既に*はモード名として "Org"を使用しています - delight org-mode "Org" を使用する点はごくわずかです。 *However* I can confirm that delight is still working for major modes with powerline enabled, because if I visit an org-mode buffer and check `mode-name` it tells me `(inhibit-mode-name-delight "Org" "Org")` (normally those two values wouldn't be identical, of course, but see above...) これは、他のコンテキスト( `Mx describe-mode` など `modeも表示されます)のカスタム値を 表示しないで、 -name` )。 これは、電力線が明示的に `format-mode-line` を呼び出していることを示唆しています。 (これはやや直感的ですが、 `format-mode-line` は通常のモード行表示コードでは呼び出されませんが、*他の*モードラインの構造をレンダリングすることができます)。 それは2つの図書館間の非互換性です、私は恐れます。 delightのアドバイスを(読み込んだ後に)*無効にする*ことができます: ``` (ad-disable-advice 'format-mode-line 'around 'delighted-modes-are-glum) (ad-activate 'format-mode-line) ``` これはあなたの電力線の出力を修正しますが、メジャーモードのモード名を表示する他のものも喜んでいるバージョンを表示することを意味します。しかし、それはおそらくあなたにとってはまだ好ましいでしょう。 電力線が呼び出されているときに*のみ*動くように助言してください。これは標準的なモードラインレンダリングのオプションではありませんでしたが、このような場合には確かに実行できます。 `delight-powerline.el` 統合ライブラリをEmacsWiki。 `delight.el` の新しいバージョン1.04が必要です。 。