2

が「.log」ファイルの場合、ファイル内のキーワード「dog」を含むすべての行を赤で表示し、ファイル内のキーワード「cat」を含むすべての行を黄色で表示します。これは、vim で「.log」ファイルを開くと自動的に行われます。これを行う方法はありますか?

4

1 に答える 1

3

まず、色をハイライト グループとして定義します。

:hi Dogs ctermbg=red guibg=red
:hi Cats ctermbg=yellow guibg=yellow

:matchコマンドまたはmatchadd()関数を使用して (ウィンドウ ローカルの) ハイライトを追加できます。キーワードを含む行全体を照合すると、すべてが強調表示されます。ログファイル用に:autocmdインストールされます(ファイルパターンをハードコーディングする代わりに、 Vimのファイルタイプ検出を使用することをお勧めします)。

:autocmd BufWinEnter *.log call matchadd('Dogs', '^.*dog.*$') | call matchadd('Cats', '^.*cat.*$')

の利点は:match、構文の強調表示を妨げないことです (これは代替手段です)。欠点は、同じウィンドウでログ以外のバッファーを表示すると、強調表示が持続することです。(autocmd を追加することでこれを修正できますが、簡単ではありません。)

于 2013-10-18T16:05:00.940 に答える