#045
posted on 2021.06.05

Vimでカラースキームの変更と新しく追加する方法。

CUI(Character User Interface)エディターのVimでカラースキームの変更の仕方、新しくダウンロードして追加、部分的に色の設定を変更する方法のメモ。

 

macOS High Sierra バージョン 10.13.6

VIM – Vi IMproved 8.0 で確認。

 

カラースキームの変更方法

Vimにカラースキームを適用するには、Exコマンド「:syntax on」でシンタックスハイライトの機能を有効設定にしておく必要がある。

※ Vim起動中にExコマンドで設定変更した場合はVimを閉じると元に戻ってしまうので、起動時から反映させたい場合は初期設定ファイルの「.vimrc」に記述しておく。(「.vimrc」の詳細は前の記事参照。)

 

カラースキームを変更するExコマンド

引数に入力するカラースキーム名は、「tab」キーで現在インストールされているカラースキームから候補を補完できる。

※ Vimに「:set wildmenu」の設定がされていれば、ステータスラインに補完候補一覧が表示される。

:colorscheme カラースキーム名

 

 

カラースキームの設定ファイルの場所

カラースキームの設定ファイルは、所定のディレクトリに配置することでVimで読み込めるようになる。

 

デフォルトのカラースキームの場合

「/usr/share/vim/vim80/colors」

Vimインストール時に同梱されているカラースキームのファイルがあるディレクトリ。(「カラースキーム名.vim」)

※ OSやVimのバージョンなど、環境によっては異なる。

 

自分で個別にダウンロードしたカラースキームの場合

「$HOME/.vim/colors」(~/.vimrc/colors)

自分でダウンロードした場合は、このディレクトリに配置するとVimで読み込めるようになる。(Unix系の場合。)

デフォルト用のディレクトリに配置しても反映されるが、自分で追加する場合は一般的にはホームディレクトリ内の所定のディレクトリに配置する。(ユーザー別ディレクトリになるので。)

※ ターミナルで$HOMEなど環境変数を確認するシェルコマンドは「echo $変数名」。

 

 

カラースキームの追加

Web上に公開されているカラースキームをダウンロードして追加する方法。

 

定番カラースキーム「molokai」の追加

[ 方法1 ] 手動の場合

githubで公開されている「molokai.vim」ファイルをブラウザでダウンロードし、「$HOME/.vim/colors」(~/.vimrc/colors)のフォルダに移動する。

 

[ 方法2 ] ターミナルからシェルコマンドで実行する場合

カラースキームのファイルを配置する「~/.vim/colors」ディレクトリが無い場合はディレクトリを作成する。

「git」コマンドでリポジトリから一式をローカルに複製して、必要な「molokai.vim」ファイルのみを所定のディレクトリに移動、不要なら残骸は削除する。

※ 「rm」コマンドで削除すると復元できないので指定を間違えないように注意。

mkdir -p ~/.vim/colors #ディレクトリが存在しない場合は作成しておく
git clone https://github.com/tomasr/molokai #カレントディレクトリに複製される
mv molokai/colors/molokai.vim  ~/.vim/colors/ #必要なファイルだけ移動
rm -rf molokai #ディレクトリを対象にするためとアクセス権限の問題のためにオプションを指定して削除

mkdir : 指定したディレクトリを作成。オプション「-p」は指定パスに含まれるサブディレクトリが無ければ同時に作成する。

git clone リポジトリURL : カレントディレクトリに指定したリポジトリと同じものを複製する。

mv ファイル 移動先 : 指定したフォルダやファイルを指定したディレクトリに移動。移動先にファイル名まで指定した場合はリネームして移動される。

rm : フォルダやファイルを削除。オプション「-r」はディレクトリも削除の対象にする、「-f」はエラーメッセージを表示せず強制実行。

 

 

カラースキームの一部の色だけ変更する方法

任意のカラースキームを使っていて一部の色だけ変更したい場合に、カラースキーム自体のファイルを編集することなく色を変更する方法。

  • Exコマンド「:highlight」で個別の項目を指定して色を変更する。(一時的に変更する場合。)
  • 「.vimrc」ファイルに、「autocmd」コマンドによる「highlight」の実行を記述する。(初期設定として変更する場合。)

 

※ 色設定の記述内に出てくる「term」は白黒端末用、「cterm」はCUIのターミナル用、「gui」はGUIのターミナル用に設定されている値。

※ 「cterm」系は指定の256色のみ(色サンプルの参考サイト : xterm 256 colors)、「gui」系はHEX値で好きな色が設定できる。

※ 「ctermfg」は文字色、「ctermbg」は背景色、「cterm」は文字装飾の指定。

 

 

1. 現在の割り当てられている色の確認

現在の設定色とそれぞれの項目名を確認する方法。

 

[ 確認方法1 ]

シンタックスで色設定する項目のグループ分けの一覧で確認。

(現在割り当てられている色で一覧表示されるがカラーコードは表示されない。)

:so $VIMRUNTIME/syntax/hitest.vim

[ 確認方法2 ]

現在開いているファイルの構文ルールでどのようにシンタックス用のグループ分けがされているかの一覧で確認。

(現在割り当てられている色で一覧表示されるがカラーコードは表示されない。)

:syn list

[ 確認方法3 ]

シンタックスで現在設定されている項目グループ名と適用されているカラーコードの一覧で確認。

:highlight

 

 

2. 一部の色だけを変更する「autocmd」コマンドの記述

「.vimrc」ファイルに「autocmd」コマンドを記述する。

(カラースキームが読み込まれたらExコマンドの「highlight」を実行する「autocmd」コマンド。)

  1. 変更したい色の項目名と割り当てを先述の確認方法で調べる。
  2. 「autocmd」コマンドの発生イベントに「colorscheme *」を指定して、変更したい色の設定を記述する。(「何らかのカラースキーム読み込み」の発生で「指定の色変更」が実行される。)
  3. Vim起動時に「.vimrc」ファイルが読み込まれるので自動的に設定が反映される。

※ 「.vimrc」ファイル内で、「colorscheme」コマンド(使用するカラースキームの呼び出し)より上に、この「autocmd」コマンドを記述する必要がある。(「colorscheme*」を「autocmd」コマンドの発火イベントに指定しているので。)

autocmd colorscheme * highlight ErrorMsg ctermfg=213 ctermbg=16
colorscheme molokai

autocmd イベント コマンド : 指定したイベントが発生したら自動的に指定のコマンドを実行。

colorscheme スキーム名 : 指定したカラースキームを読み込む。(この場合、autocmd内では「*」ワイルドカードをスキーム名に指定している。)

highlight : 指定したグループの指定したキーに指定した値を設定する。(この場合はエラーメッセージの文字色に213、背景色に16を設定。)

 

 

この記事をシェア
この記事のURL

https://memo.ag2works.tokyo/post-1903/

コピー
この記事のタイトル

Vimでカラースキームの変更と新しく追加する方法。 | memo メモ [AG2WORKS]

コピー
この記事のリンクタグ

<a href="https://memo.ag2works.tokyo/post-1903/" target="_blank" rel="noopener">Vimでカラースキームの変更と新しく追加する方法。 | memo メモ [AG2WORKS]</a>

コピー
※ フィールドをクリックでコピーするテキストの編集ができます。

この記事へのコメント

コメントの書き込みはまだありません。

  • コメント内のタグはエスケープ処理され、文字列として出力されます。
  • セキュリティーのため、投稿者のIPアドレスは取得されます。
  • 管理者が内容を不適切と判断したコメントは削除されます。
  • このフォームにはスパム対策として、Googleの提供するreCAPTCHAシステムが導入されています。
    (Google Privacy Policy and Terms of Service.)