Edited at

Emacsで、特定の文字の色を変更する

More than 3 years have passed since last update.

Emacsで、特定の文字の色を変更したいと思うことがある。

例えば以下の画面。

明らかに"main"の部分だけ色が薄くて見づらい。

以下、このように特定の文字の色だけをいい感じに変更するための手順。


1. 当該文字のfaceを調べる

Emacsの文字や背景の色は、「face」という名称で管理されている。

そのfaceを知るためのコマンドが、

M-x describe-face

である。

色を変えたい文字列の上にカーソルがあることを確認したうえでこのコマンドを実行する。

すると、その文字列のfaceが何かがミニバッファに表示される。



"main"の部分のfaceは、「font-lock-function-name-face」であることが分かった。


2. faceの設定を変更

文字列のfaceが分かったので、今度はそのfaceの設定を変更する。

そのためにまず、Emacsで設定されているfaceの一覧を表示させる必要がある。

それを行うためのコマンドが、

M-x list-faces-display

である。

早速実行してみると、

このように新しいバッファができ、face名とそれに対応する文字の色・背景色が一覧になって表示される。

このバッファ上で先程の「font-lock-function-name-face」を検索する。

見つかった。

確かに現在はとても見にくい薄緑色になっている。

これを見やすい色に変更するためには、まず当該face上にカーソルがあることを確認したうえでEnter。

するとそのfaceの現在の設定の詳細が表示される。

今は文字の色を変更したいので、下から2行目のForegroudの[Choose]の上にカーソルを移動させ、Enter。

すると上図の通り色の一覧が別のバッファ上に表示されて、ミニバッファ上には

Click on a color to select it.

と表示されるはず。

この色の一覧の中から自分が気に入った色を選べばよい。

試しにcyanを選択してみる。

cyanの上にカーソルを持ってきてEnter。

このように元のfaceの詳細画面に戻るので、ここでC-x C-sにより~/.emacs.elを上書き保存する。

以上で完了。元の画面に戻って色を確認してみる。



"main"の部分がちゃんとcyan色になった。大成功。

この方法により、Emacs上から眼に悪い色の組み合わせを排除することが出来る。


参考URL

http://futurismo.biz/archives/1322

http://kakakikikeke.blogspot.jp/2014/09/emacsface_10.html