14

vimバージョン6.3

タブと末尾のスペースを強調表示するために、新しい強調表示グループを作成しようとしています。これらの設定は.vimrcにしかありません。

autocmd ColorScheme * highlight UnwanttedTab ctermbg=red guibg=darkred
match UnwanttedTab /\t/
autocmd ColorScheme * highlight TrailSpace guibg=red ctermbg=darkred
match TrailSpace / \+$/ 
colorscheme torte

しかし、vimを起動すると、次のようなエラーが発生しました。

line    1:
E216: No such group or event: ColorScheme * highlight UnwanttedTab ctermbg=red guibg=darkred
line    2:
E28: No such highlight group name: UnwanttedTab /\t/
line    3:
E216: No such group or event: ColorScheme * highlight TrailSpace guibg=red ctermbg=darkred
line    4:
E28: No such highlight group name: TrailSpace / \+$/

私はこのガイドに従い、autocmdを使用してハイライト設定がクリアされないようにしました。しかし、それでも仕事に取り掛かることはできません。誰かが何が間違っている可能性があるか知っていますか?

4

2 に答える 2

22

コードの問題は、matchコマンドがまだ定義されていないカスタムハイライトグループ名を参照していることです。highlight UnwanttedTab ... これらのグループ名は、を使用する前に、たとえばを使用して定義する必要がありますmatch。は、配色をロードした後autocmdsにのみ使用してハイライトグループ名を定義します。highlight

これは、ハイライトグループを設定する方法であり、最初にグループ名を使用して構文のハイライトを定義し、次にそれらのグループ名に一致するものを提供します。

highlight UnwanttedTab ctermbg=red guibg=darkred
highlight TrailSpace guibg=red ctermbg=darkred
match UnwanttedTab /\t/
match TrailSpace / \+$/ 

このautocmd記事の推奨事項は、ロードする可能性のあるカラースキームが。を使用してカスタムハイライトグループをクリアするのを防ぐことを目的としています:highlight clear

上記のコマンドを、 :でと組み合わせてみてautocmdください。.vimrc

highlight UnwanttedTab ctermbg=red guibg=darkred
highlight TrailSpace guibg=red ctermbg=darkred
match UnwanttedTab /\t/
match TrailSpace / \+$/ 

autocmd ColorScheme * highlight UnwanttedTab ctermbg=red guibg=darkred
autocmd ColorScheme * highlight TrailSpace guibg=red ctermbg=darkred

colorscheme torte
于 2012-06-18T19:04:11.597 に答える
4

2004年にリリースされたVimバージョン6.3で一体何をしているのですか?!

このColorSchemeイベントは、Vim 7.0で2年後、つまり約6年前に導入されました。

新しいVimバージョンに切り替えます。次に、私のShowTrailingWhitespaceプラグインなど、末尾の空白を強調表示するための既製のプラグインの1つを使用することもできます。

于 2012-06-19T11:13:33.223 に答える