2

私はいくつかのファイルタイプで好みのカラースキームを持っていますが、別のファイル (カラースキームが異なる別のファイルタイプ) を開いて前のファイルに戻ると、新しいカラースキームが持続します。

これは私のGvimrcにあります(gvimを使用)

autocmd WinEnter,FileType * colorscheme default
autocmd WinEnter,FileType c,cpp colorscheme darkblue
autocmd WinEnter,FileType R,r colorscheme desert

バッファ間を移動するときに、カラースキームがファイルタイプに従って保持されるように変更するにはどうすればよいですか?

編集:以下を追加しても修正されませんでした

autocmd BufEnter,BufNew,FileType c,cpp colorscheme darkblue
autocmd BufEnter,BufNew,FileType R,r colorscheme desert
4

2 に答える 2

7

Ingoの答えはよりスマートですが、これらの自動コマンド

autocmd BufEnter *     colorscheme default
autocmd BufEnter *.php colorscheme desert
autocmd BufEnter *.py  colorscheme darkblue

動作するはずです。まあ、彼らはここで働いています。

于 2013-03-01T08:44:45.180 に答える
7

同じ autocmd ルールでWinEnterとイベントを組み合わせても意味がありません。FileType前者はバッファのファイル名と一致し、後者はバッファのファイルタイプと一致します。

代わりに、バッファーがウィンドウに入力/表示されるたびにトリガーされる単一の autocmd を使用し、&filetype.

:autocmd BufEnter,FileType *
\   if &ft ==# 'c' || &ft ==# 'cpp' | colorscheme darkblue |
\   elseif &ft ==? 'r' | colorscheme desert |
\   else | colorscheme default |
\   endif
于 2013-03-01T08:36:44.020 に答える