VIMを使用して、余分なスペースと固定長列(80文字など)を強調表示したいと思います。
.vimrc
私のファイルに2つのvimrcルールを作成しました。
highlight ExtraWhitespacea ctermbg=darkred guibg=#382424
match ExtraWhitespacea /\s\+$/
highlight OverLength ctermbg=green ctermfg=white guibg=#592929
match OverLength /\%81v.\+/
今問題は、このルールが個別に適用されると、私が望む方法で正しく機能しますが、一緒には機能しないことです。
ここで何か抜けましたか?どのようにデバッグできますか?
ベストアンサー1
問題は、各:match
コマンドが前のコマンドのパターンを上書きして累積されないことです。これにより:2match
様々な:3match
バリエーションが存在する。次のいずれかを使用します。
highlight ExtraWhitespace ctermbg=darkred guibg=#382424
match ExtraWhitespace /\s\+$/
highlight OverLength ctermbg=red guibg=#525252
2match OverLength /\%81v.\+/
matchadd()
Vimscript機能を使用して別のバリエーションを作成できます。
ノート
'colorcolumn'
Vim 7.3以降、列を強調表示するオプションが組み込まれています。- 設定は
~/.vimrc
最初のウィンドウにのみ適用されます。つまり、:split
これらの強調表示なしでウィンドウが作成されます。 autocmdsを介して(またはこのオプションを使用して)この問題を解決できます'colorcolumn'
。 - 私のような末尾のスペースを強調するより強力で洗練されたソリューションがあります。ShowTrailingWhitespaceプラグイン。 (プラグインページには代替プラグインへのリンクがあります。)