Come rientrare come spazi anziché come tab?


21

Sto codificando alcuni modelli html in file JADE. Voglio inserire automaticamente il codice con spazi anziché tab. Ho provato shiftwidth=2, tabstop=2ma non importa quale sia, è ancora un rientro che utilizza le tab invece della barra spaziatrice, il che fa sì che la compilazione JADE generi errori.

Come posso inserire automaticamente grandi sezioni di codice usando gli spazi anziché le schede?

Risposte:


25

Stai cercando l' expandtabopzione. Quando questa opzione è impostata, gli spazi vengono sempre utilizzati. Puoi inserire il set expandtabtuo vimrc per avere sempre questa opzione impostata all'avvio di vim. Se si desidera abilitare questa opzione solo per lingue specifiche, vedere questa domanda . Per assistenza su questa opzione, vedere :help 'expandtab'.


1
grazie :set expandtabmi ha permesso di utilizzare gli spazi anziché le schede per il rientro
Giovanni

È vero che tsè inutile quando etè impostato?
iBug

@iBug Non se stai creando il file da solo, ma potrebbe essere utile impostarlo se stai modificando i file esistenti che contengono delle schede. Vedi vim.fandom.com/wiki/Indenting_source_code per ulteriori informazioni sul rientro, l'ho trovato molto più chiaro dei file di aiuto di vim.
EvergreenTree

22

Vuoi espandere la scheda.

Ma di solito ci sono un paio di opzioni che vuoi impostare contemporaneamente.

Se aggiungi quanto segue al tuo file ~ / .vimrc

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

In alternativa puoi eseguirli manualmente dalla modalità normale procedendo con ':'

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.