カラースキームを少し変更したいということがよくありますが、元のファイルを編集したくありません。変更内容を '~/.vim/after/colors/blah.vim' に入れようとしましたが、うまくいきません。
たとえば、BusyBee.vim の CursorLine のハイライトを変更したいとします。
〜/.vim/colors/BusyBee.vim
ファイル '~/.vim/after/colors/BusyBee.vim' を作成し、以下を追加します:
hi CursorLine guibg=#000000 ctermbg=Black cterm=none
しかし、変更は見られません。もちろん、元の BusyBee.vim の行を変更すれば動作しますが、前述したように、私はそれを行わないことを好みます。
実行中...
:colo Busy<TAB>
見せてくれる...
BusyBee BusyBee
ベストアンサー1
今日、何を探しているのかと聞かれました。ここで紹介されているものよりも簡単な解決策を見つけました。テーマの黒い背景ではなく透明な背景が欲しいのですが、ステートメントの後で色を単純に上書きしてもcolorscheme
機能.vimrc
せず、そのためだけにプラグインをインストールするのは奇妙です。私がやったことは次のとおりです。
autocmd ColorScheme * highlight Normal ctermbg=None
autocmd ColorScheme * highlight NonText ctermbg=None
なぜ動作するのでしょうか? vim は、colorscheme
ステートメントを読み取ってステートメントをロードし、highlight
ステートメントを読み取って色を変更する以外にも何かを行うと思います。いずれにしても、vim は構成ファイルを読み取った後にのみカラー スキームを変更するようです。そのため、カラー スキームが変更されるたびに色を変更するフックを提供します。嬉しい副作用として、カラー スキームを切り替えてもこれが動作します (if
必要に応じてブロックを実行できます)。