2013-01-21 1 views
5

Sto utilizzando il plug-in css_color.vim per evidenziare i codici colore esadecimali CSS con il colore effettivo. È un po 'fastidioso fare in modo che l'evidenziazione sia sempre attiva, quindi mi chiedo se sia possibile attivare o disattivare un plug-in di sintassi.Come abilitare e disabilitare uno script di sintassi Vim?

+0

Solo così tutti sono chiari, si desidera scaricare il plugin css_color, non solo disabilitare l'evidenziazione della sintassi * all *, ad es., Tramite ': syn off', giusto? – imm

+0

sì, ma: syn off disattiva l'evidenziazione della sintassi, voglio solo disabilitare il plug-in – bab

risposta

4

Creare invece una nuova sintassi.

Inserire il file in .vim/syntax/css_color.vim e aggiungere runtime syntax/css.vim nella parte superiore. Ora agisce come una propria definizione di sintassi che eredita la sintassi CSS di base.

Quando si desidera CSS con colori intelligenti, utilizzare :setf css_color. Quando si desidera tornare a stock CSS, :setf css.


edit: Per associare un tasto:

function! ToggleCssColor() 
    if &filetype == 'css' 
     setf css_color 
    else 
     setf css 
    endif 
endfunction 

noremap <Leader>c :call ToggleCssColor()<CR> 

Poi \c passerà tra i due stili in modalità normale. È possibile impostare la chiave per qualsiasi cosa si desidera, utilizzare inoremap per associare una chiave in modalità di inserimento, ecc.

+0

grazie al suo perfetto funzionamento. Sai come mapperei una singola chiave per attivare questo? – bab

1

Utilizzare uno degli altri Colorizerplugins. Hanno una funzione di commutazione e generalmente funzionano meglio e caricano più velocemente nel terminale vim.