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
Run Code Online (Sandbox Code Playgroud)
但是当启动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 / \+$/
Run Code Online (Sandbox Code Playgroud)
我正在按照本指南使用autocmd来防止我的高亮设置被清除.但仍然无法上班.有谁知道什么可能是错的?
pb2*_*b2q 19
代码的问题在于match命令引用了尚未定义的自定义突出显示组名称.必须使用例如highlight UnwanttedTab ... 在使用它们之前定义这些组名match.该autocmds会只定义使用的高亮组名highlight 之后已加载任何色彩方案.
这是一种设置突出显示组的方法,首先使用组名定义语法突出显示,然后为这些组名提供匹配:
highlight UnwanttedTab ctermbg=red guibg=darkred
highlight TrailSpace guibg=red ctermbg=darkred
match UnwanttedTab /\t/
match TrailSpace / \+$/
Run Code Online (Sandbox Code Playgroud)
本文中的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
Run Code Online (Sandbox Code Playgroud)