0

私の .vimrc からの次のスニペットは、行末の余分な空白を灰色の陰で強調表示しています:

autocmd Syntax * syntax match MySpace /\s\+$/
autocmd ColorScheme * highlight MySpace ctermbg=238

ただし、この空白が構文グループによって既に一致している場合、これは機能しません。たとえば、さまざまな種類のコメントの末尾の空白はマークされません。

マニュアルではcontains=ALL、構文グループのオプションについて説明していますが、類似のものはないようcontainedin=ALLです。何らかの方法でエミュレートできますか?私が思いついた唯一の方法は、関連するすべての構文グループを のcontainedin=オプションにリストすることMySpaceです。これは明らかに退屈で、まったくエレガントではありません。

4

2 に答える 2

1

でこれを行う方法はわかりませんがSyntaxlistcharsオプションを使用して末尾のスペースを強調表示できます。

私から.vimrc

" List chars
set listchars=""           " Reset the listchars
set listchars+=tab:\|\     " show tabs as "|"
set listchars+=nbsp:·      " show non-breaking spaces as "·"
set listchars+=trail:·     " show trailing spaces as "·"
set listchars+=precedes:«
set listchars+=extends:»
于 2012-05-29T12:13:41.633 に答える
0

この特定のトピックに関するVim Tips Wiki 記事:matchで説明されているように、コマンド (またはmatchadd())を使用する必要があります。

このためのすぐに使用できるソリューションが気に入った場合は、私の ShowTrailingWhitespace プラグイン、またはプラグイン ページにリストされている代替手段の 1 つを試すこともできます。

于 2012-05-29T15:17:11.443 に答える