単一のemacsバッファーの背景色を変更するにはどうすればよいですか?


8

本番データベースに接続されているSQLインタラクティブバッファを非常に明白にしたいので、バッファの背景を濃い赤色に変更することを考えました。

set-background-colorただし、機能しません。すべてのフレームの色を指定した色に設定します。

単一のバッファの背景を変更するにはどうすればよいですか?

回答:


9

私はこれのためにemacs lispパッケージを作成しました:https : //github.com/vic/color-theme-buffer-localこれはEmacsの顔の再マッピングを使用してテーマの顔をローカルにインストールします。


(require 'color-theme-buffer-local)
(add-hook 'java-mode-hook (lambda nil (color-theme-buffer-local 'color-theme-robin-hood (current-buffer)) ))


6

できません。

背景色は通常フレーム固有です。

次のように、defaultを使用してset-face-background、顔の背景色をフレーム固有に設定できます。

(set-face-background 'default "#CCCCCC" (window-frame (frame-selected-window))

フレームのカスタマイズは、通常、フレームパラメータによって制御されます。ここで、background-colorフレームパラメータのをよく見ると、デフォルトの背景色がdefault顔から取られていることがわかります。そのため、上記のelispが効果を発揮します。

それを過ぎると、バッファーの背景色に近づくことができるように見えるのは、マイナーモードbuffer-face-mode(23.1で追加)を使用することです。ただし、背景全体ではなく、バッファーのテキストの背景のみを変更します。


1

私は試しませんでしたが、http: //www.emacswiki.org/emacs/BufferBackgroundColorは可能な解決策のように聞こえます。


素晴らしいアイデアですが、オーバーレイを使用しているため、テキストの背景のみが変更されます。
Chris R
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.