カラースキーマ gochiusa.vim をつくった
IndentGuideとハイライトがやかましい これが私のカラースキーマです
言語によるシンタックスハイライトの細かい部分を触れてなくて、まだ完成版とは言えないんですが、お試しに使ってみることはできると思います。
前作はこちら
灰色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(再掲)
Python
PHP
Node.js
ココア先輩の優雅なカラースキーマチュートリアル
使う色を変数にしておく
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記事だと見抜いたよ
「色設定追加したよ!」「この言語に対応したよ!」みたいな PR もお待ちしてます。