見出し画像

Vim/Neovimのdarkblueカラーテーマ"RETROHACK"を作りました

画像2

Vimのcolorschemeをまた新しく作りました。darkblue系のカラーテーマ、RETROHACKです。

画像1

あれ?これ、Vimにデフォルトで入ってるdarkblueじゃない?と思った方はご明答。Vimのデフォルトのdarkblueをモダン環境でも使えるようにする目的でインスパイアでリファインなcolorschemeです🤗

 なぜ作ったか

Vimのデフォルトのdarkblueテーマが以前から好きで、WindowsのGvim環境でよく使っていました。青い背景のエディタは、黒背景よりもさらにレトロ感があって(古き良きWindows感)、Vim使ってる感が増して大好きです。

ただ、ターミナル環境でdarkblueを指定すると、名前とは裏腹に青くなく真っ黒背景のcolorschemeになってしまいます。ただ色がちゃんと表示されていないだけかと思っていたのですが、darkblue.vimの定義を見てみると、GUIの定義とCUIの定義がかなり異なっていて、そもそもCUIだと青くないということに気づきました。

僕はどんな環境でも同じように表示されるcolorschemeが好きで、colorschemeを作るときのモットーにもしています。CUI/GUIで全く同じ色、そしてどんなターミナルでも表示されるようにシンプルな色定義にすることを意識しています。

そこでVimデフォルトバンドルのdarkblueを、GUI/CUIでも同じように表示されるように作ったのがRETROHACK colorschemeです。

画像3

特徴

CUI/GUI環境でも同じ色定義
GUIの色定義とCUIの色定義は使える色数が異なるため、どうしても色味が違うcolorschemeが多いです。RETROHACKでは、Terminalで使うことのできる256色のみを使っているため全く同じ色が表示されます。

安定して表示される作り
最近のTerminalのなかには、256色を超えて描画できるものがあります。モダンなcolorschemeでは、それを前提にして作っているものもあるためTerminalによってはきちんと色がでないことがあります。
(例えば、macOSの標準のTerminalは256色までしか表示できませんが、iTerm2を使うとTrue colorがサポートされているためそれ以上の色が使えます)
RETROHACKではシンプルに256色の中だけで色定義をしているので、安定して使うことができます。

最新のVim/Neovimの色定義に対応
VimもNeovimも日々進化していて、新しい機能やモダンなプラグインがどんどん登場していますが、それに合わせて色定義が増えていることがあります。最近では、LSPというコード補完系のプラグインが充実していて、そこらあたりの色定義が考慮されているかも重要な部分になってきています。
古いcolorschemeの場合、新しい色定義を追うことができていないため、たまに変な色が表示されてしまうことがあります。
このRETROHACKでは、自分が気づいた範囲ではなるべく対応していく予定です(Issueきたら対応します😍)。

なぜ青背景なのか

かっこいいと言えば黒い画面でプログラミングですが、最近はDarkテーマが流行だったり、どのIDEもDark系がデフォルトだったりしてすっかりモダンな印象があります。

逆に白背景のほうが黎明期感がでて好きだったりするので、shirotelinという白背景colorschemeを2年ほどまえに作りました。

このcolorschemeは自分も気に入ってますし、結構な人に使ってもらえています。ですが、CUIの便利ツールはどれも黒背景なことを前提に作られていて辛いことが多かったのも事実。。

いい塩梅なラインとして、青背景のcolorschemeがレトロ感強めでいい感じかなと思った次第です。

あとは、たまたまYoutubeで競技プラグラマーの方の大会の様子の動画を見て、青背景もいいなって思ったからですね(笑)

なかなかないcolorschemeだと思うので、もしdarkblue系のcolorschemeを探している方がいたら、刺さればいいなと思ってます。


この記事が気に入ったらサポートをしてみませんか?