ようじょのおえかきちょう

ふぇぇ お医者さんにペン持ったらダメっていわれた〜〜

カラースキーマ gochiusa.vim をつくった

IndentGuideとハイライトがやかましい これが私のカラースキーマです

f:id:yamasy1549:20180308161207p:plain

github.com

言語によるシンタックスハイライトの細かい部分を触れてなくて、まだ完成版とは言えないんですが、お試しに使ってみることはできると思います。

前作はこちら

yamasy1549.hateblo.jp

灰色dein.vimと灰かぶりNeoBundle

もう各話タイトルだめです

# .vimrc

colorscheme gochiusa

dein.vim 使ってる人はこれ書いて :call dein#install()

# dein.toml

[[plugins]]
  repo = 'yamasy1549/gochiusa.vim'

NeoBundle 使ってる人はこれ書いて :NeoBundleInstall

#~/.vimrc

NeoBundle 'Shougo/neosnippet.vim'

なんも使ってない人は ~/.vim/colors/ とかに直接ぶっこむ

$ git clone https://github.com/yamasy1549/gochiusa.vim
$ cp gochiusa.vim/colors/gochiusa.vim ~/.vim/colors/

回転舞踏伝説スクショ隊

使用感こんな感じ。ざっくり言語関係なく共通部分しか色付けしてないです。

Ruby(再掲)

f:id:yamasy1549:20180308162609p:plain

Python

f:id:yamasy1549:20180308162628p:plain

PHP

f:id:yamasy1549:20180308162638p:plain

Node.js

f:id:yamasy1549:20180308162704p:plain

ココア先輩の優雅なカラースキーマチュートリアル

使う色を変数にしておく

let s:brown = "0"
let s:pink = "1"
...

この色番号は

zsh <(curl -L https://gist.githubusercontent.com/yonchu/3914153/raw/be8c57b8b096de5f9f8f2778374cb62e8f06853f/color256.sh)

などして適当に参照してください。

スタイルの指定方法も変数にしておく

{key}={arg} 意味 args
cterm={arg} 文字のスタイル bold underline undercurl reverse inverse italic standout NONE
ctermbg={arg} 文字の背景色 色番号
ctermfg={arg} 文字の色 色番号
exe "let s:fg_none          = ' ctermfg=NONE'"
exe "let s:fg_brown         = ' ctermfg='.s:brown"
exe "let s:fg_pink          = ' ctermfg='.s:pink"
...

exe "let s:bg_none          = ' ctermbg=NONE'"
exe "let s:bg_brown         = ' ctermbg='.s:brown"
exe "let s:bg_pink          = ' ctermbg='.s:pink"
...

文字列の連結をしているんですが、後々これをさらに連結するので、先頭(ctermXX の前)に空白を入れるのをお忘れなく。

NONE はよく使うので設定しておきました。cterm{fg,bg} も色ごとに変数にしておくと便利です。このへん色追加するたび一々 {fg,bg}_XXX を追加するのは面倒なので黒魔術的に書くのが良いかもしれません。

よく使う組み合わせを変数にしておく

# 背景とほぼ同じ色(ほとんど見えない)
exe "let s:hidden           = ' ".s:bg_none.s:fg_black."'"
# 普通のテキスト
exe "let s:text             = ' ".s:bg_none.s:fg_gray."'"
# 弱めのテキスト(背景色に近い)
exe "let s:weak             = ' ".s:bg_none.s:fg_brown."'"
# やばい
exe "let s:warn             = ' ".s:bg_none.s:fg_red."'"
...

などなど。

:source $VIMRUNTIME/syntax/hitest.vim

で全部のオプションがどのスタイルに指定されているか、一覧で見ることができます。これを横に置いて随時更新しながら書いていきましょう。

exe "hi! SpecialKey"   .s:weak
exe "hi! EndOfBuffer"  .s:hidden
...

ひと口で自分の書いたQiita記事だと見抜いたよ

qiita.com

github.com

「色設定追加したよ!」「この言語に対応したよ!」みたいな PR もお待ちしてます。