36
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-08-30

Emacsで、特定の文字の色を変更したいと思うことがある。
例えば以下の画面。

スクリーンショット 2016-08-30 22.24.56.png

明らかに"main"の部分だけ色が薄くて見づらい。
以下、このように特定の文字の色だけをいい感じに変更するための手順。

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

Emacsの文字や背景の色は、「face」という名称で管理されている。
そのfaceを知るためのコマンドが、

M-x describe-face

である。
色を変えたい文字列の上にカーソルがあることを確認したうえでこのコマンドを実行する。
すると、その文字列のfaceが何かがミニバッファに表示される。


スクリーンショット 2016-08-30 22.33.51.png *** "main"の部分のfaceは、「font-lock-function-name-face」であることが分かった。

2. faceの設定を変更

文字列のfaceが分かったので、今度はそのfaceの設定を変更する。
そのためにまず、Emacsで設定されているfaceの一覧を表示させる必要がある。
それを行うためのコマンドが、

M-x list-faces-display

である。
早速実行してみると、

スクリーンショット 2016-08-30 22.39.33.png

このように新しいバッファができ、face名とそれに対応する文字の色・背景色が一覧になって表示される。
このバッファ上で先程の「font-lock-function-name-face」を検索する。

スクリーンショット 2016-08-30 22.42.15.png

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

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

スクリーンショット 2016-08-30 22.44.08.png

するとそのfaceの現在の設定の詳細が表示される。
今は文字の色を変更したいので、下から2行目のForegroudの[Choose]の上にカーソルを移動させ、Enter。

スクリーンショット 2016-08-30 22.46.37.png

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

Click on a color to select it.

と表示されるはず。
この色の一覧の中から自分が気に入った色を選べばよい。
試しにcyanを選択してみる。
cyanの上にカーソルを持ってきてEnter。

スクリーンショット 2016-08-30 22.52.38.png

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

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


スクリーンショット 2016-08-30 22.55.31.png *** "main"の部分がちゃんとcyan色になった。大成功。

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

参考URL

http://futurismo.biz/archives/1322
http://kakakikikeke.blogspot.jp/2014/09/emacsface_10.html

36
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?