Hatena::ブログ(Diary)

connvoi_tyouの日記 RSSフィード

2008-03-06 vimカラーの微調整時のまとめ。

vimカラーの微調整時のまとめ。

1.今、何色でるのか試したい場合。

:so $VIMRUNTIME/syntax/colortest.vim

↑を打つと(vim上で)16色がどのエイリアス(black、whiteなど)に割り当てられていて、

どんな色になるかを表示してくれます。

また、それぞれの色をbgに設定したりして、色見本的な役割をしてくれます。

f:id:connvoi_tyou:20080307013300j:image



2.今、どういうルールでハイライトされているのかを知りたい場合。

:so $VIMRUNTIME/syntax/hitest.vim

f:id:connvoi_tyou:20080307014049j:image

↑それぞれ、どのエイリアスがどんな色で表示されるかを見せてくれます。

これをみながら、vimrcを書き書きするといいかも。

「LineNr」とかかれている部分は「set number」したときに出てくる行数をどうやって表示するか?

を見せてくれています。

「Syntax highlighting groups」以下部分はグループがどのエイリアスにリンクしているかを表します。

例えば、45行目「Comment」(darkcyan)の右側にhtmlCommentPartとか、phpCommentとか書いてありますね?

htmlComment、phpCommentはCommentにリンクしていて、こういう色で表示してますよー。ってことです。



3.色が変わらないとき確認すること

  1. colortestを実行してみて、きちんと表示されているか確認する。
  2. 「set term=***」をしてtermの設定を適切にする。(xtermとかで大体いけるっぽい。)
  3. 使っているターミナル自体の表示設定を見てみる。(teratermの場合bold表示がデフォルトで有効になってたりなど)

ちなみに、最近のvimだと「:set term=aaa」とか打つと、ちゃんと、設定できる値を表示してくれたりします。

親切だね!!!


安価に設定するまとめとしては、

  1. ぱっと見いい感じのcolorschemeを持ってくる。
  2. そのcolorschemeを自分の.vimrcにコピーする。
  3. hitestを実行する。
  4. 修正したい場所のhilight部分のctermfgやctermbgを適宜設定。(もちろんguiでもok)
  5. 確認
  6. 気に入らなければhitestをしてまた確認。

こんな感じです。ファイルを開いた時にどのhilightを設定するかは$VIMRUNTIME/filetype.vimにかいてあります。

基本は拡張子をみて、ファイルタイプを判断していて、追加がある場合は追加スクリプトを書けばいいようになってます。

pyteってpython用のを適当に修正して自分好みにしてみました。

折角設定したのに、光沢パネルディスプレイでみたら、若干まぶしい。。。。。

なんかコード書くたびに色がきになってしまって、結局、vim開くたびに色を変えているみたいなことに陥ってたりしてます。。。orz


参考にしたサイト(チョー助かりました。ありがとう御座いましたm(_)m

・vimdoc

http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/

・filetype(vimdoc内)

http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/filetype.html#new-filetype

・syntax(vimdoc内)

http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/syntax.html


↓こんなのになりました。teratermでdarkblueが紫ぐらいの設定がいいっぽいです。あとPHPしか見てませんのであしからず。

hi Function ctermfg=darkgreen

hi Repeat ctermfg=darkgreen

hi String ctermfg=darkmagenta

hi Number ctermfg=darkmagenta

hi Boolean ctermfg=darkmagenta

hi Normal ctermfg=gray ctermbg=black

hi Cursor ctermfg=gray

hi Comment ctermfg=darkcyan

hi Constant term=underline ctermfg=blue

hi Special ctermfg=blue

hi Identifier term=underline ctermfg=white

hi Statement ctermfg=blue

hi PreProc term=underline ctermfg=darkgreen

hi Type term=underline ctermfg=darkgreen

hi Underlined term=underline cterm=underline ctermfg=darkcyan

hi Ignore ctermfg=blue

hi Error term=bold ctermbg=darkmagenta ctermfg=black

hi Todo term=bold ctermfg=black ctermbg=darkcyan

hi Pmenu ctermbg=black ctermfg=gray

hi PmenuSel ctermbg=darkcyan ctermfg=black

hi PmenuSbar ctermbg=darkred

hi PmenuThumb cterm=reverse ctermfg=gray

hi TabLine term=underline cterm=underline ctermfg=gray ctermbg=darkred

hi TabLineSel term=bold

hi TabLineFill term=reverse cterm=reverse

hi MatchParen term=reverse ctermfg=brown ctermbg=darkcyan

hi SpecialKey term=bold ctermfg=gray

hi NonText term=bold ctermfg=blue

hi Directory term=bold ctermfg=brown

hi ErrorMsg ctermbg=darkmagenta ctermfg=black

hi IncSearch term=reverse cterm=reverse ctermfg=brown ctermbg=black

hi Search term=reverse ctermfg=black ctermbg=brown

hi MoreMsg term=bold ctermfg=darkgreen

hi ModeMsg term=bold ctermfg=darkmagenta

hi LineNr term=underline cterm=underline ctermfg=blue ctermbg=black

hi Question term=bold ctermfg=blue

hi StatusLine term=bold,reverse cterm=reverse ctermfg=blue ctermbg=black

hi StatusLineNC term=bold,reverse cterm=reverse ctermfg=blue ctermbg=black

hi VertSplit ctermfg=black ctermbg=darkred term=reverse cterm=reverse

hi Title ctermfg=gray

hi Visual term=reverse cterm=reverse ctermfg=darkcyan ctermbg=black

hi VisualNOS term=bold,underline ctermfg=darkcyan ctermbg=black

hi WarningMsg term=bold ctermfg=darkmagenta

hi WildMenu term=bold ctermfg=black ctermbg=darkcyan

hi Folded ctermbg=darkcyan ctermfg=black

hi FoldColumn ctermbg=darkcyan ctermfg=black

hi DiffAdd term=bold ctermbg=brown ctermfg=black

hi DiffChange term=bold ctermbg=darkred

hi DiffDelete term=bold ctermfg=black ctermbg=brown

hi DiffText term=reverse ctermbg=darkmagenta ctermfg=black

hi SignColumn term=bold ctermfg=black ctermbg=darkcyan

Connection: close