vimのcolorscheme

gVim(vimでも使うけど)で使用されるcolorscheme
デフォルトで用意されているものの中で気に入ったのがなかったので作ることに.


前設定

set background dark

backgroundでは dark か light を指定
これでデフォルトの配色が決定(多分)

let g:colors_name = "mycol"

colors_name ではこの colorscheme の名前を指定
確認で使う他,(名前の有無が)backgroundを変更したさいの挙動にも影響を与えるらしい.
詳しくはdocument参照


設定

以下 hi は highlight と書いても同じ.
group, key, value については下を参照
クリア

"hi clear [group]
hi clear
hi clear TabLine

groupを指定した場合そのgroupの設定を全てクリアする.
groupを指定してない場合全てのhighlight設定をクリアする.


highlight指定
一応メイン・・・

"hi [default] group key=value...
hi Visual gui=bold,reverse
hi default Normal guifg=white guibg=black

groupのkeyの値をvalueにする.
defaultはオプションで,ついている場合は「すでにユーザによりなにかしら設定されている場合はなにもしない」となる


link

"hi [default] link group1 group2
hi link cComment Comment

group1の設定をgroup2と同じとする
defaultの動作は上と同じ


groupについて

主なgroup
基本的なものはココ参照
その他細かいもの

関連 グループ名
タブ TabLine, TabLineSel, TabLineFill
カーソル CursorColumn, CursorLine, Cursor, lCursor
プログラミング Comment, Constant, Special, Identifier, Statement, PreProc, Type
その他 Normal, MatchParen, Underlined, Ignore, Error

これくらい設定しとけばだいたい大丈夫なはず.
(他のモジュールは大抵これらのgroupへのlinkを張ってる)


keyとvalueについて

key一覧

key 意味
term 白黒端末での属性
cterm カラー端末での属性
ctermfg カラー端末での文字色
ctermbg カラー端末での背景色
gui GUI での属性
font GUI でのフォント
guifg GUI での文字色
guibg GUI での背景色
guisp GUI での波線色

属性一覧

属性 効果
bold 太文字(ctermでは明るくなる)
underline 下線
undercurl 下波線(guiのみ, [c]termではunderlineに(?))
reverse(=inverse) 文字色と背景色を反転
italic イタリック
standout reverse+bold(?)
NONE 使用しない(リセット)

※ ただし(特に[c]termでは)使用できないものもある


カラー端末での色について
端末によって使える色が違う
docment読んでもいまいち分からなかった.
ここにある色を指定するのが無難?


GUI環境での色について
このへんから選んで書く.
色の名前(snow)でもRGB値(#fffafa)でもOK


フォントについて
詳しく調べてないので省略・・・


設定ファイル

(注) gvim
基本的にvimの色を踏襲する感じで一部を変更してある.
以下のファイル(mycol.vim)を[~/.vim/color/]以下コピーし,

"colorscheme {ファイル名から.vimを除いたもの}
colorscheme mycol

でOK

" colorscheme for gVim

set background=dark

hi clear

if exists("syntax_on")
  syntax reset
endif

let g:colors_name = "mycol"

hi SpecialKey	gui=bold	guifg=skyblue2	guibg=gray15	
hi NonText	gui=bold	guifg=red		
hi Directory	gui=bold	guifg=lightcyan		
hi ErrorMsg	gui=bold	guifg=white	guibg=red	
hi IncSearch	gui=reverse			
hi Search		guifg=black	guibg=yellow	
hi MoreMsg	gui=bold	guifg=green		
hi ModeMsg	gui=bold			
hi LineNr	gui=bold	guifg=yellow		
hi Question	gui=bold	guifg=green		
hi StatusLine	gui=bold,reverse			
hi StatusLineNC	gui=reverse			
hi VertSplit	gui=reverse			
hi Title	gui=bold	guifg=lightmagenta		
hi clear Visual
hi Visual	gui=reverse			
hi VisualNOS	gui=bold,underline			
hi WarningMsg	gui=bold	guifg=lightred	guibg=darkgreen	
hi WildMenu		guifg=black	guibg=brown	
hi Folded	gui=bold	guifg=cyan	guibg=grey50	
hi FoldColumn	gui=bold	guifg=cyan	guibg=black	
hi DiffAdd			guibg=darkblue	
hi DiffChange			guibg=darkmagenta	
hi DiffDelete	gui=bold	guifg=lightblue	guibg=darkcyan	
hi DiffText	gui=bold		guibg=darkred	
hi SignColumn	gui=bold	guifg=lightcyan	guibg=black	
hi SpellBad			guibg=red	
hi SpellCap			guibg=blue	
hi SpellRare			guibg=magenta	
hi SpellLocal			guibg=cyan	
hi Pmenu			guibg=darkcyan	
hi PmenuSel			guibg=black	
hi PmenuSbar			guibg=gray	
hi PmenuThumb	gui=reverse			
hi TabLine	gui=bold,underline	guifg=white	guibg=black	
hi TabLineSel	gui=bold			
hi TabLineFill	gui=reverse			
hi CursorColumn	gui=reverse		guibg=grey40	
hi CursorLine	gui=underline			
hi clear Cursor
hi Cursor	gui=reverse			
hi lCursor		guifg=bg	guibg=fg	
hi MatchParen			guibg=grey30	
hi Normal		guifg=white	guibg=black	
hi Comment	gui=bold	guifg=cyan		
hi Constant	gui=bold	guifg=plum2		
hi Special	gui=bold	guifg=lightred		
hi Identifier	gui=bold	guifg=cyan		
hi Statemet	gui=bold	guifg=lightyellow		
hi PreProc	gui=bold	guifg=deepskyblue		
hi Type	gui=bold	guifg=green		
hi Underlined	gui=bold,underline	guifg=lightblue		
hi Ignore		guifg=bg		
hi Error	gui=bold	guifg=white	guibg=darkred	
hi clear Todo
hi link Todo Comment
hi ZenkakuSpace	gui=undercurl	guifg=darkcyan	guibg=gray15	

" vim: tabstop=20