← Vim研究所

Vimの配色テーマを変更する(:colorscheme)

2019-08-22 公開 ・ 更新: 2026-08-05

デフォルトの配色のまま何年も使っていましたが、Vim標準だけでも複数のカラースキームが最初から同梱されています。プラグインを入れなくても、コマンド1つで見た目を変えられます。

検証環境:macOS + Vim 9.1.1752 / Neovim 0.12.4。同梱テーマの一覧と件数、catppuccinvimへの切り替えは、実際に適用して確かめた結果です。

目次(9項目)
コマンドこれだけ覚える
:colorscheme {テーマ名}配色テーマを切り替える
set background=dark / light背景の明暗を合わせて調整
set termguicolors外部テーマの色をより正確に表示

基本の使い方

:colorscheme {テーマ名}

:colorschemeとだけ打ってTabで補完すれば、インストール済みの一覧を確認できます。手元のVim 9.1では26個が最初から入っていました。

blue      darkblue  default   delek     desert    elflord
evening   habamax   industry  koehler   lunaperche
morning   murphy    pablo     peachpuff quiet     retrobox
ron       shine     slate     sorbet    torte     unokai
wildcharm zaibatsu  zellner

見慣れない名前が混じっているかもしれません。Vim 9で同梱の配色が入れ替わったためです。リリースノートには経緯がこう書かれています。

Colorschemes from https://github.com/vim/colorschemes have been included. They were made to work consistently across many types of terminals.

habamaxretroboxsorbetあたりが新顔で、端末の種類によらず同じ見え方になることを狙って作られています。昔の配色のほうが好みなら、リリースノートが案内しているlegacy_colorsから入手できます。

今どのテーマを使っているか

引数なしで:colorschemeと打つと、現在のテーマ名が表示されます。手元でdesertを適用した状態で実行するとdesertと返りました。何も設定していない状態ではg:colors_name自体が未定義で、組み込みの既定配色が使われています。

:colorscheme desert

設定ファイルに固定する

colorscheme desert

気に入ったテーマが決まったら、vimrcinit.luaに1行書いておけば起動時から適用されます。

背景色の明暗も合わせて設定する

set background=dark   " または light

カラースキームによっては、backgroundの値(dark/light)に応じてコントラストを調整するものがあります。テーマを変えても妙に見づらいと感じたら、この設定も確認すると安心です。

外部テーマを使う場合の注意

プラグインとして配布されている人気の高いテーマ(gruvboxやnordなど)を導入する場合、テーマ自体はプラグインマネージャでインストールしつつ、有効化は同じcolorschemeコマンドで行います。ただしNeovimならcatppuccinは最初から同梱されています。プラグインを何も入れていないNeovim 0.12.4で:colorscheme catppuccinを実行したところ、そのまま適用できました。導入後にコマンドを打っても見た目が変わらない場合は、プラグインが正しく読み込まれているかを:scriptnamesで確認できます。

ハイライトを個別に上書きする

カラースキーム全体は気に入っているが、特定の要素(コメントの色など)だけ変えたい場合は、テーマを読み込んだ後にhighlightコマンドで個別に上書きできます。

colorscheme desert
highlight Comment ctermfg=green guifg=#00ff00

読み込み順序が重要で、カラースキームより先にhighlightを書くと、テーマの読み込み時に上書きされて元に戻ってしまいます。必ずテーマの指定より後に書きます。

ターミナルの色設定にも影響される

ターミナル版のVimでは、ターミナルアプリケーション自体の色設定(256色対応かtruecolor対応か)によって、同じカラースキームでも見え方が変わることがあります。termguicolorsを有効にすると、より正確な色でテーマを表示できる場合が多いです。

set termguicolors
要点:プラグイン無しでも複数の配色を切り替えられます。外部テーマを使う場合は、プラグインの読み込みとtermguicolorsの設定もあわせて確認すると安心です。
使ってみて

外部テーマを導入したのに色がくすんで見えて悩んでいたところ、termguicolorsを有効にしていなかったのが原因でした。設定を1つ足すだけで表示が劇的に改善し、事前にこの設定の存在を知っていればと思いました。

Neovimは既定の配色が別物

同じ:colorschemeでも、Neovimは0.10で既定の配色そのものが差し替わりました。ニュースには次のように書かれています。

Default color scheme has been updated to be "Nvim branded" and accessible.

「アップデートしたら色が変わった」と感じるのはこれが理由です。以前の見た目に戻したいなら、旧来の配色がvimという名前で残っているので次の1行で戻せます。手元の0.12.4でも切り替えられました。

colorscheme vim

まとめ

配色の変更は:colorschemeだけで完結する手軽な機能です。外部テーマを使う場合は、読み込み状況とtermguicolorsもあわせて確認すると見た目のトラブルを防げます。

関連記事

← Vim研究所 トップへ戻る