Nella maggior parte dei casi, voglio utilizzare tabstop=4
durante la modifica dei file. Ma per alcuni tipi di file, come il file xml, voglio usare tabstop=2
.
Ho aggiunto
au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2
nel mio .vimrc
file. Funziona se sto modificando un solo file. Ma se sto modificando più file, non è possibile impostare correttamente i punti di tabulazione per tutti i buffer. Sembra che il tipo di file sia stato rilevato e impostato solo all'avvio e da allora non sia mai cambiato.
Voglio il FileType
impostato ogni volta che cambio il buffer. Come posso farlo?
Risposta accettata:
Non sono sicuro del motivo per cui la tua versione non funziona, ma posso farlo usando il call
opzione e inserendo le impostazioni in una funzione come questa:
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
Questo dovrebbe essere attivato ogni volta che un file viene caricato in un buffer o il tipo di file cambia. L'unico problema sarebbe se si modifica un buffer da uno dei tipi personalizzati a uno che dovrebbe essere solo predefinito. In tal caso non cambierà nulla. Dovresti impostare un'altra funzione da attivare su tutti i tipi di file se devi coprire quel caso d'uso.