15
18

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 3 years have passed since last update.

srceryというカラースキームは特にemacsをターミナル内でしか使わない人には良かった

Last updated at Posted at 2020-07-24

Emacs 、ウィンドウシステムでも使えるのは承知しているが、普通に考えてウィンドウシステムでエディタ立ち上げるなら VS Code とか JetBrains とか使うと思うので、その存在意義はターミナル内の作業中にその場で .bash_profile とか .git/config みたいなファイルをひとつだけサクッと書き換えるようなニッチな状況しか考えられず、したがってターミナルというかなり貧弱な色空間において精一杯やってもらわざるを得ない。そもそも Emacs 強い人はウィンドウシステムで立ち上げるし、強い人しか elisp 書かないので、そういう人と同じ運用にしないとおこぼれにあずかれないという構造があり、一方でターミナル向けのカラースキームがあったとして vim を含む各種エディタサポートしていたとしても Emacs はサポートされていなかったりしていて、ひしひしと淘汰圧を感じる日頃であるが、そんな時世にもきちんと Emacs まで対応してくれるカラースキーム srcery というものを発見できて本当に良かった。なお Srcery initially started as a vim colorscheme とのこと。monokai とか zenburn もそんなんだった気がするが。

スクリーンショット 2020-07-24 15.48.39.png スクリーンショット 2020-07-24 15.30.30.png

さて、ターミナルに色を正しく表示させ、その上で Emacs にも色を正しく表示させるにはターミナル自体が256色をエミュレートしているかどうかと、実際に256色出す確認用のスクリプトと、あとは Emacs 上で256色を出す確認方法が必要だ。

1. macOS の Terminal.app のカラースキームを適用する。

https://github.com/srcery-colors/srcery-terminal/blob/master/terminal_app/srcery_terminal_app.terminal これをダウンロードして、 Terminal.app の設定画面から読み込ませる

スクリーンショット 2020-07-24 15.54.24.png

2. ターミナルの設定

ターミナル(というかターミナルエミュレーター)が256色出力ができる、とエミュレートされているものに伝える必要がある。

スクリーンショット 2020-07-24 15.41.31.png

$ echo $TERM して xterm-256color と出ればよいと思う。

あとついでに「キーボード」タブの メタキーとしてOptionキーを使用 チェックを入れておく。

3. 256color.pl を実行する

出自不明だけどどこかで「256color.pl」というスクリプトをとってきて実行する。 普通に検索すると https://gist.github.com/hSATAC/1095100 が出るのかな。

$ chmod +x 256color.pl
$ ./256color.pl
スクリーンショット 2020-07-24 15.45.44.png

もしこの直上に tmux が載って、その上で Emacs という構成だとまた気をつけなきゃいけないことが増えると思うけど TERM=xterm-256color になっていたらそれで済んだと思う。

4. Emacs で M-x list-colors-display する

256色対応していない場合は、こんな感じ。

スクリーンショット 2020-07-24 15.48.50.png

たとえば TERM=xterm-256color emacsclient -nw -a '' で起動すると、こう(ちなみに Emacs とかいう重量級プロセスを使い捨てるのはやめよう。 alias emacs="TERM=xterm-256color emacsclient -nw -a ''" するべき)。

スクリーンショット 2020-07-24 15.48.39.png

6. srcery-theme を package-install して load-theme する

srcery-theme- MELPA から落とすのが普通だと思う。私は use-package で書くのが好きです。

.emacs.d/init.el
(use-package srcery-theme
  :config
  (load-theme 'srcery t))

スクリーンショット 2020-07-24 16.01.49.png スクリーンショット 2020-07-24 16.03.22.png スクリーンショット 2020-07-24 16.02.02.png

ターミナル内でサクッとファイルをひとつだけ編集するときに、きれなカラースキームがあたっていると、うれしい。

15
18
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
15
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?