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