次の形式のエントリののみで構成される単純な種類のデータベースファイルがあります
変数= 値
単純なvim構文の強調表示を作成し、特定のファイル拡張子に設定したい
たとえば、変数部分は水色で、値部分は水色である可能性があります
グーグル検索して、$vimruntime\syntax\
、syntax set=
、syntax match
、hi
などのキーワードを見つけましたが、最終的に自分で設定できませんでした
だから私は、左側と右側を一致させ、それらを別々に着色することでそれを実現する非常にシンプルなvimコードスニペットが欲しい
ファイルの拡張子が*.foo
…であると仮定します。
これらのファイルとディレクトリが存在しない場合は作成します。
$HOME/.vim/ftdetect/foo.vim
$HOME/.vim/syntax/foo.vim
以下を$HOME/.vim/ftdetect/foo.vim
に入れます。
autocmd BufRead,BufNewFile *.foo set filetype=foo
以下を$HOME/.vim/syntax/foo.vim
に入れます。
syntax match FooKey /^[^=]\+/
syntax match FooValue /[^=]\+$/
次の行を$HOME/.vimrc
(または少なくともafter any colorscheme
行)の最後に配置します。
highlight FooKey ctermfg=cyan guifg=#00ffff
highlight FooValue ctermfg=red guifg=#ff0000
~/.vimrc
のどこかに次の行があることを確認してください:
syntax on
ファイルを作成する~/.vim/syntax/simple.vim
以下の内容で:
" Quit when a syntax file was already loaded.
if exists('b:current_syntax') | finish| endif
syntax match simpleVar "\k\+" nextgroup=simpleAssignment
syntax match simpleAssignment "=" contained nextgroup=simpleValue
syntax match simpleValue ".*" contained
hi def link simpleVar Identifier
hi def link simpleAssignment Statement
hi def link simpleValue String
let b:current_syntax = 'simple'
これは3つの構文要素に一致し、デフォルトの色を提供します。通常は明示的な色を定義しませんが、代わりにデフォルトのリンクにリンクします強調表示グループあなたのカラースキームによって定義されます。 :hi
。微調整については、:help :syntax
および:help usr_44.txt
、そしてVimに同梱されている構文スクリプトを見てください。
これまでのところ、手動で:set syntax=simple
をアクティブにします。これを自動的に行うには、新しいfiletypeについてVimに教える必要があります。
ファイルを作成する~/.vim/ftdetect/simple.vim
以下の内容で:
autocmd BufNewFile,BufRead *.simple setf simple
これは、ファイルがファイル名(cp。:help autocmd-patterns
)。また、パス(ファイルの場所)、またはコンテンツに基づいて検出することもできます。 :help new-filetype
に詳細があります。