小さくても視覚的に楽しい機能であり、使いやすさを少し高めて、Vimでアクティブウィンドウに異なる背景色を使用したいと思います。
ここに私が望んでいるもののスケッチがあります:
通常、そのvimにはすべての背景が黒で表示されますが、アクティブウィンドウのみがユーザーの注意を引く独自の色を持っている場合です。ステータスバーのみを強調表示するだけでは不十分です。
小さくても視覚的に楽しい機能であり、使いやすさを少し高めて、Vimでアクティブウィンドウに異なる背景色を使用したいと思います。
ここに私が望んでいるもののスケッチがあります:
通常、そのvimにはすべての背景が黒で表示されますが、アクティブウィンドウのみがユーザーの注意を引く独自の色を持っている場合です。ステータスバーのみを強調表示するだけでは不十分です。
回答:
デフォルトの背景色を制御するハイライトグループは、「Normal
」と「NonText
」です。残念ながら、これらは「グローバル」なハイライトであり、ウィンドウごとに「ローカライズ」することはできません。
ただし、これは本当に見苦しい例です。
augroup BgHighlight
autocmd!
ハイライトActiveWindow guibg = lightblue
autocmd WinEnter * call matchadd( 'ActiveWindow'、 '。*'、
10、1682 )autocmd WinLeave * call matchdelete(1682)
augroup END
doautocmd BgHighlight WinEnter-
これは単なる例であるため、guibg = ...とともにctermbg = ...ハイライトを追加するなど、個々のニーズに合わせてこれを変更する必要があります。
欠点は、行/ウィンドウ全体ではなく、ファイル内の既存のテキストの背景のみを強調表示することです。(私が言ったように、くて気味悪いです。)
.*
はファイルのテキストにのみ一致します。背景の残りの部分からは何も。さらに、私はそれがctermbg
プロパティを持つターミナルでのみ動作するようにしました。奇妙な...