2012-06-18 3 views
9

Vim версии 6.3Gvim на заказ выделения группы в .vimrc не работает

Попытка создать новую группу выделения, чтобы выделить вкладки и завершающие пробелы. У меня есть только эти настройки в .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/\+$/ 

Я следовал этой guide и используя autocmd, чтобы предотвратить мои настройки ВЫСВЕТИТЬ быть очищены. Но до сих пор не получается работать. Кто-нибудь знает, что может быть неправильным?

+1

посмотрите этот учебник http://vimcasts.org/episodes/show-invisibles/ –

ответ

16

Проблема с вашим кодом в том, что команды match ссылаются на пользовательские названия групп подсветки, которые еще не определены. Эти имена групп должны быть определены с использованием, например, highlight UnwanttedTab ...до вы используете их с match. autocmds будет определять имена групп подсветки, используя highlightпосле вы загрузили любую цветовую схему.

Это способ для настройки выделить группы, первое определение подсветки синтаксиса с именами групп, а затем обеспечивая соответствие для этих названий групп:

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

autocmd рекомендация статьи предназначена для предотвращения любого colorschemes что вы можете загрузить от очистки пользовательских групп подсветки с помощью :highlight clear.

Try объединения команд выше с 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 
+0

попробовал ваше решение, но все равно получал такое же сообщение об ошибке. Что может быть неправильным? – Stan

+0

Большое вам спасибо! – Mortezaipo

3

Какого черта вы делаете с Vim версии 6.3, выпущенный в 2004 году ?!

Событие ColorScheme было введено только через два года с Vim 7.0, или около шести лет назад.

Перейти к новому выпуску Vim; то вы также можете использовать один из готовых плагинов для выделения конечных пробелов, например. мой ShowTrailingWhitespace плагин.

+0

+1 для указания устаревшей версии, не поддерживающей ColorScheme. благодаря! – Stan

Смежные вопросы