2009-07-28 12 views

risposta

16

Io uso qualcosa di simile:

set list listchars=tab:»·,trail:·,precedes:…,extends:…,nbsp:‗ 

Richiede Vim7 e io non sono sicuro di come questo sta andando a mostrare in un browser, perché utilizza alcuni caratteri Unicode funky. È bene usare alcuni caratteri stravaganti in modo da poter distinguere una tabulazione da qualcosa che potresti aver digitato tu stesso.

Oltre a mostrare le schede, mostrando spazi alla fine delle righe è utile in modo da sapere di rimuoverli (sono fastidioso).

+0

wow, stavo cercando questo un paio di settimane fa, ma non ho trovato nulla (non ho cercato molto) ... grazie :) –

+0

puoi dirci come inserire quei caratteri nel tuo .vimrc ? –

+0

Copia/incolla è più semplice, o 'Ctrl-V u ####' dove #### è un punto codice unicode a 4 cifre. –

5

Utilizzare i list e listchars opzioni, qualcosa di simile:

:set list 
:set listchars=tab:>- 
3

Se fate la seguente:

:set list 

quindi tutti i caratteri TAB apparirà come ^I e tutti gli spazi finali apparirà come $.

Utilizzando listchars, è possibile controllare quali caratteri da utilizzare per qualsiasi spazio bianco. Così,

:set listchars=tab:... 

in combinazione con :set list rende TAB visibili come ....

2

Inoltre, durante il taglio e incollare il testo intorno, è utile disabilitare la visualizzazione delle schede e spazi. Puoi farlo con

:set list! 

E lo abiliti di nuovo ripetendo il comando.

7

Molti altri hanno menzionato le 'listchars' e le opzioni di 'list', ma solo per aggiungere un altro interessante alternativa:

if &expandtab == 0 
    execute 'syn match MixedIndentationError display "^\([\t]*\)\@<=\(\{'.&ts.'}\)\+"' 
else 
    execute 'syn match MixedIndentationError display "^\(\(\{' . &ts . '}\)*\)\@<=\t\+"' 
endif 
hi link MixedIndentationError Error 

Ciò guardare l'impostazione corrente di 'expandtab' (vale a dire se hai ha schede o spazi rigidi che fingono di essere schede) e metterà in evidenza tutto ciò che sarebbe look come indentazione corretta ma essere della forma sbagliata. Queste sono progettate per funzionare osservando i punti di tabulazione, quindi le schede utilizzate per l'indentazione seguite dagli spazi utilizzati per l'allineamento semplice (non un multiplo di "tabstop") non saranno evidenziate come errate. Sono disponibili

opzioni più semplici: se si desidera solo per evidenziare eventuali schede nel file sbagliato in rosso brillante (o qualunque sia il vostro colore di errore è), si potrebbe fare:

syn match TabShouldNotBeThereError display "\t" 
hi link TabShouldNotBeThereError Error 

o se si desidera spazi alla l'inizio di una linea da considerare un errore, si potrebbe fare:

syn match SpacesUsedForIndentationError display "^ +" 
hi link SpacesUsedForIndentationError Error 

Solo qualche altro pensiero da aggiungere al mix ...maggiori informazioni qui:

:help 'expandtab' 
:help 'tabstop' 
:help 'listchars' 
:help 'list' 
:help :exe 
:help let-option 
:help :hi-link 
:help :syn-match 
:help :syn-display 
2

Glenn Jackman chiesto come immettere i caratteri (sto assumendo egli intende caratteri come "» ").

Brian Carper suggerisce un metodo che utilizza il numero di indice Unicode del carattere. Poiché molti di questi personaggi dall'aspetto particolare sono digrafi [: help digraphs], puoi anche usare la scorciatoia CNTL-k, che è generalmente più facile da ricordare.

Quindi, ad esempio, è possibile generare "» "in modalità di inserimento digitando CNTL-k e il carattere"> "due volte.

Problemi correlati