良いハイライト顔を定義する方法


9

を使用したいのですglobal-hl-line-modeが、一部のテーマには優れたハイライトフェイスがありません。これを定義する一般的な方法はありますか(それは逆色ではありません)?私の試みで壊れた構文の強調表示を維持したいと思います。


「定義する方法」とはどういう意味ですか?外観の提案について質問しますか?特定の外観を与える顔を定義する方法について?顔の定義をテーマの顔の定義の効果に置き換える方法について が使用する顔をカスタマイズしてみましたglobal-hl-line-modeか?要約すると、質問をより明確に指定してください-それは人々があなたを助けるのに役立ちます。
Drew

回答:


17

これは本当に意見の問題ですが、私は常にhl-lineデフォルトよりも少し暗い背景を作るのが最善であることを発見しました。

私の試みで壊れた構文の強調表示を維持したいと思います。

構文の強調表示を維持する場合は、hl-line面の:foreground属性がnilであることを確認して:backgroundから、属性を必要なものに設定します。

これらの設定を使用した場合、次のようになります。

(set-face-attribute 'default nil :background "gray15")
(set-face-attribute 'hl-line nil :foreground nil :background "gray5")

ここに画像の説明を入力してください

そのサウンドによって、テーマを変更することになるため、ハードコードされたカラーは必要ありません。Emacsが自動的に設定することができ:backgroundhl-line現在のデフォルトよりもやや暗い色に顔を:backgroundこのように:

(require 'color)

(defun set-hl-line-color-based-on-theme ()
  "Sets the hl-line face to have no foregorund and a background
    that is 10% darker than the default face's background."
  (set-face-attribute 'hl-line nil
                      :foreground nil
                      :background (color-darken-name (face-background 'default) 10)))

(add-hook 'global-hl-line-mode-hook 'set-hl-line-color-based-on-theme)

これにより、顔の背景がデフォルトの背景よりも10%暗い色に設定されます。 global-hl-line-mode

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.