lightline.vimでcolorschemeをあてたときに気に食わない色を修正する

公開日:2018-11-07
最終更新:2018-12-16

TL;DR

タイトルのとおりです.
自分はvimのステータスラインをいい感じにしてくれるlightline.vimというプラグインを使っています.
いままでカラースキームにはsolarizedを使っていたのですが,ちょっと地味なので他にないかなと探していたところ,deusというカラースキームがかっこよかったのでそれを使い始めました.
しかし,今までNormalが青,Insertが緑でしたがdeusはNormalとInsertで逆の色だったのでなんか気持ち悪いなと感じてしまいました.
そこで,自分で色を設定して変えてやればいいじゃんと思い設定しました.
ちなみにvimscriptとかよくわからない人なので,こんなの当たり前じゃんと思われるかもしれませんがご容赦ください...

deusの色設定を見てみる

call dein#add('itchyny/lightline.vim)でlightline.vimをインストールするとxxx/itchyny/lightline.vim/autoload/lightline/colorschemeにdeusやsolarizedなどの色設定が書かれたvimscriptがあります.
まずはそのディレクトリまで行って目的のカラースキームを見てみます.(GitHubにも同じものを見ることが出来るのでそちらでも可)

...  
let s:p.normal.left = ...  
let s:p.normal.right = ...  
let s:p.insert.left = ...  
let s:p.insert.right = ...  
...  

なんかいろいろ書いてあります.例えばlet s:p.insert.leftであればInsertモードでの左側のステータスラインの色が指定してあります.
このことを念頭に置いて任意の色に変えていきます.

実際に任意の色を指定してみる

deusをあてたときのデフォルトの状態は下のような状態です.

自分にとってはかなり違和感がありますので逆にしてしまいましょう.

tomlで管理している場合はhook_add,もしくはinit.vimなどに設定を書き加えていきます.

" deusのパレットを選択 "  
let s:palette = g:lightline#colorscheme#deus#palette                                                                                                                                                                                    
" 色の定義 "  
let s:blue = 14                                                                                                                                                                                                                         
let s:green = 114                                                                                                                                                                                                                       
let s:black = 235                                                                                                                                                                                                                       
let s:white = 145                                                                                                                                                                                                                       
let s:gray = 236                                                                                                                                                                                                                        

" deusではNormalとInsertのleftは以下のような設定,この値をそのまま入れ替えてやればいい "  
"" let s:p.normal.left = [ [ '#292c33', '#98c379', s:term_black, s:term_green, 'bold' ], [ '#98c379', '#292c33', s:term_green, s:term_black ] ]  
"" let s:p.insert.left = [ [ '#292c33', '#61afef', s:term_black, s:term_blue, 'bold' ], [ '#61afef', '#292c33', s:term_blue, s:term_black ] ]  
" NormalとInsertの時の色を設定する "  
let s:palette.normal.left  = [ [ '#292c33', '#8eb2f7', s:black, s:blue, 'bold' ], [ '#8eb2f7', '292c33', s:blue, s:black ] ]                                                                                                            
let s:palette.normal.right = [ [ '#292c33', '#8eb2f7', s:black, s:blue, 'bold' ], [ '#abb2bf', '#3e4452', s:white, s:black ], [ '#8eb2f7', '292c33', s:blue, s:black ] ]                                                                
let s:palette.insert.left  = [ [ '#292c33', '#98c379', s:black, s:green, 'bold' ], [ '#98c379', '#292c33', s:green, s:black ] ]                                                                                                          
let s:palette.insert.right = [ [ '#292c33', '#98c379', s:black, s:green ], [ '#abb2bf', '#3e4452', s:white, s:gray ], [ '#98c379', '#292c33', s:green, s:black ] ]    

色の設定は左から

  • GUIのフォントの色
  • GUIの背景色
  • CUIのフォントの色
  • CUIの背景色
  • bold,reverseなどの設定

といった順で並んでいます.単に逆にしたいだけならNormalとInsertの中身をそっくりそのまま入れ替えてあげるといいです.
自分で任意の色にしたい場合は,その都度適切に値を入れていけば反映されます.

設定し終わって再度vimを起動すると以下のようになります.

無事ステータスラインの色を変えることが出来ました.

タブラインの設定も出来ますので自分のカラースキームを作って使うことも出来ます.

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
@mryyomutgaの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする