2019/02/24

vimの自作カラースキーム「雲水」

世の中にはたくさんのテーマがあるのに

vimは長年多くのプログラマーに使用され、愛されているエディタの一つです。vim scriptによる、カスタマイズのしやすさもまた魅力の一つなのではないでしょうか。
今回はこのvim scriptを利用して、カラースキームを作ってみました。
世の中にはデザインセンスのある方々がおしゃれなカラースキームをたくさん作成しておられますが、たくさん存在するため、探すよりもむしろ自分でできるようになったほうが早いように思います。凝ったものでなければ、割と簡単に作成できます。
今回私が作成しましたカラースキーム「雲水」は、禅の托鉢僧のようにまさに無一物のテーマで、自分自身が使用するにあたって、最低限、色がついていて欲しいところだけ色付けした感じになっています。したがって色合いは苔や草木といった感じです。地味です。爺臭い。
一応GitHubに置いています。普段シェルでしかvimを使わないので、gvimなどへの対応はしていません。そしてほとんどの値をnoneにしているので、コピーして自分色に変えていただいても構いません。どのgroup-nameがどれに対応しているのかを確認しながら、プラグインとの対応も考えながらカスタマイズしてみてください。いいのができたら教えて下さい。

限られた色との戦い

シェルで使うvimでは、色が256色。その中から心地よい色の組み合わせを探すのは中々大変なものでした。本当はダークターコイズをベースに考えていたのですが(Manjaro Linuxに合うように)、この色は組み合わせが難しい、と言いますか、私好みの組み合わせが見つからない。オレンジレッドもいいなあ、と考えていましたが、いざ使ってみると目立ちすぎて困る。
普段Rustをメインに使っていますので、一応Rustコードが見やすくなるように心掛けましたが、他の言語はまだこれからという感じです。プラグインのsyntaxを見ながら対応していこうと思います。
しかし地味に作ってしまったものだ。もっと色の勉強もします。

追記

Nimを使っている方は、プラグインnim.vimを使用しているかもしれません。vimにはもともと結構な種類の言語のシンタックスが含まれており、python.vimやrust.vimもその中にあります。しかしながらnim.vimは含まれておりませんでしたので、プラグインの力を拝借してカラースキームを適用しました。ところが、nim.vimのシンタックスのままでは、私の思い描くイメージのカラースキームにはならないので、以下のコードを追記してNimの型に色付けしました。

hi link nimBuiltin Type
これを追加することで、型(intやstringなど)に色が付きます。