2012-06-18 8 views
9

vim versione 6.3gvim al gruppo di evidenziazione personalizzata in Vimrc non funziona

Cercando di creare un nuovo gruppo di evidenziazione per evidenziare le schede e gli spazi finali. Ho solo queste impostazioni in .vimrc.

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

Ma quando il lancio di vim, ho avuto errore come questo:

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/\+$/ 

Stavo seguendo questo guide e utilizzando autocmd per evitare che le mie impostazioni di evidenziazione da cancellare. Ma ancora non riesco a mettermi al lavoro. Qualcuno sa cosa potrebbe essere sbagliato?

+1

dai un'occhiata a questo tutorial http://vimcasts.org/episodes/show-invisibles/ –

risposta

16

Il problema con il codice è che i comandi match fanno riferimento a nomi di gruppi di evidenziazione personalizzati che non sono ancora stati definiti. Quei nomi di gruppo devono essere definiti utilizzando per es. highlight UnwanttedTab ...prima del li usi con match. Lo autocmds definirà i nomi dei gruppi di evidenziazioni solo utilizzando highlightdopo il, in cui è stato caricato qualsiasi schema colori.

questo è un modo per impostare i gruppi di evidenziazione, in primo luogo definendo l'evidenziazione della sintassi con nomi di gruppo, quindi fornendo una corrispondenza per i nomi dei gruppi:

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

Il autocmd raccomandazione del articolo è destinato a prevenire eventuali colorschemes che potresti caricare dall'eliminazione dei gruppi di evidenziazioni personalizzati con :highlight clear.

Provate a combinare i comandi di cui sopra con la autocmd, nella vostra .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

provato la tua soluzione, ma ottenendo sempre lo stesso messaggio di errore. Cosa potrebbe esserci di sbagliato? – Stan

+0

Grazie mille! – Mortezaipo

3

Che diavolo stai facendo con Vim versione 6.3, rilasciata nel 2004 ?!

L'evento ColorScheme è stato introdotto solo due anni dopo con Vim 7.0 o circa sei anni fa.

Passare a una versione Vim più recente; quindi puoi anche utilizzare uno dei plug-in pronti per evidenziare spazi bianchi finali, ad es. il mio plugin ShowTrailingWhitespace.

+0

+1 per indicare la versione obsoleta che non supporta ColorScheme. Grazie! – Stan

Problemi correlati