2

ViMの:highlight CursorLineを使用して、現在の行のbgの色を変更します。ただし、テキストが読めない場合もあります。

テキストを除く行全体の背景色のみを変更できるハイライトが必要です(文字間のスペース/タブをテキストとして数えます)。

それは実行可能ですか?はいの場合、どのように?

4

2 に答える 2

2

私が知っている限りでは、カーソルラインを強調表示する方法を直接サポートしていない可能性があります。

しかし、私はあなたがやりたいことをするためのトリックを持っています. つまり、カーソルラインを強調表示した後、現在の「背景」および「前景」として、行の見出し/末尾スペースの色設定を変更できます。

:match NoHighLight /^\s\+|\s\+$/ 
:highlight NoHighLight guibg=background guifg=foreground

明らかな欠点は、「行の終わり」から「vimウィンドウの境界」までの部分が、カーソルラインの設定の色としてペイントされることです。それが見苦しい場合は、次のように guifg を設定するだけで、カーソルラインのハイライト設定を変更できます。

:highlight CursorLine guifg=red guibg=background 

他のきちんとした解決策が存在するかもしれませんが、それが私が今思いつくことができるものです。:)

それが少し役立つことを願っています。

于 2010-05-05T05:01:19.230 に答える
1

私は解決策を見つけました -

@Zhaojunの答えに関して:それは私が望んでいたものではあり/^\s\+|\s\+$/ません(また、あまり機能しません。おそらくそうあるべきです/^\s\+\|\s\+$/

私が見つけた解決策は(エルフロード配色の単なる例の色)です

:highlight CursorLine gui=none guibg=grey10
:set CursorLine

:highlight NoHighLight guibg=background 
:match NoHighLight /\S\+\(\s\+\|$\)/

ただし、行末の末尾のスペースではうまく機能しませんが、通常は削除します

それらを表示するには、次を使用します

:highlight EndSpaces guibg=green
:match EndSpaces /\s\+$/
于 2010-05-05T21:11:49.953 に答える