Emacs:背景色を変更する方法
Emacsの背景色を変更する方法を説明します。背景色を変更する方法は、何通り考えられますが、ここでは4通りの方法を紹介します。
初期化ファイルで設定する方法
関数 set-face-background
を使ってをinit.elや.emacsで設定する方法です。
例えば、次のように記述します。
(set-face-background 'default "#303030")
この例では、 deafult
Faceの背景色を #303030
に設定しています。
default
はすべてのFaceの親になるので、これを変更すると全体に影響します。
ただし、背景色が個別に設定されている場合は、そちらが優先されますので、defaultを変更しても全く変化しません。
色の指定には、16進数のRGB数値、もしくは M-x list-colors-display
を実行すると表示される色の名前が使えます。
set-face-background
の他に set-face-foregraound
などset-face-ではじまる関数がいくつかあります。これを使うことで背景色だけではんく、テキストの色やボールド、イタリックなど設定することができます。
Faceのカスタマイズ機能を使う方法
Emacs標準のカスタマイズ機能でFaceを設定することもできます。(set-face-background)のようなコードを書く代りに同じことをカスタマイズ機能で行なうだけです。
まずは
M-x customize-face
を実行して、face名に default
を指定します。
customize-face画面が表示されるので、項目Background:に色を指定して、 Apply
ボタンを押せば、即座に変更が反映されます。
この状態ではEmacsを再起動すると元の設定に戻りますので、今後も継続して使いたい場合は Apply and Save
ボタン、または C-x C-s
を実行して設定ファイルに反映させましょう。
注意点は、保存する前に、Foreground以外のチェックボックスはすべてOFFにしておいてください。そうでないと他の項目までいっしょに保存されてしまうため、次に説明する customize-theme
を使うときに、設定が干渉してしまうことがあるからです。(テーマを使わないなら気にしなくてもいいのですが)
標準のテーマを利用する方法
テーマとは複数のfaceと変数の設定をまとめて管理する仕組みです。
テーマという名前から連想すると表示関連だけのように思えますが、実際にはCustomizeできる変数も対象なので、Emacsの環境まるごとテーマを切り替えることで制御できます。
Emacsには標準のテーマがいくつか最初から用意されています。標準のテーマはFaceの設定しか含んでいません。この中から選ぶだけでも十分使えます。
テーマを有効にするには、まず、 M-x customize-themes
を実行してください。次のような画面が表示されます。
好きなテーマのチェックボックスを選択すると画面に即反映されます。背景色だけではなくフォント等も含めて一発で変わるのでいろいろ試してください。すべてのチェックをオフにすると、テーマもオフになります。
これもEmacsを再起動すると元に戻りますので、継続して使う場合は Save Theme Settings
を押下してください。設定ファイルに書き込まれます。普通に C-x C-s
でもOKなのでかなりお手軽にコロコロ変更できます。
テーマを自作する方法
さらに踏み込んで、自分のテーマをつくるには
M-x customize-create-theme
をします。
既存のカスタマイズを新しいテーマに含めるか聞かれますが、最初はNOを選んでおいたほうがいいです。
例えばテーマ名をhelloと入力し、とりあえずdefaultフェイスの設定だけをして、 Save Theme
を押下すると
~/.emacs.d/hello-theme.el
として定義ファイルが作成されます。 あとはこれをcustomize-themeで選べばOKです。
まとめ
これらの方法で一番手軽なのは「標準のテーマを利用する方法」でしょう。私は、その時の気分や、使用するPCによってテーマを変えています。これと customize-face
を併用して細かいカスタマイズすることで自分の好みの環境を整えるようにしています。
Emacsの設定はとても奥が深い世界なので、他にもいろいろな設定方法がありそうです。
動作環境:GNU Emacs 25.0.50.1