cambiando tabstop da 4 a 2 dopo usando expandtab (con sforzo minimo manuale)
Domanda
Per qualche tempo ho usato tabstop = 4 nei miei file di origine. Ora che scrivo sacco di javascript che ha profonde rientranze, un tabstop di 4 sembra uno spreco, quindi voglio convertirlo in 2. Il problema è che uso "set expandtab" troppo. Quindi, semplicemente impostando tabstop = 2, non sarà di aiuto.
Qualche suggerimento su come posso convertire tutti i miei file velocemente a tabstop 2?
I miei attuali impostazioni rilevanti .vimrc sono
set tabstop=4
set shiftwidth=4
set expandtab
Soluzione
Si può fare
" convert spaces to tabs first
set noexpandtab
set tabstop=4
set shiftwidth=4
retab!
" now you have tabs instead of spaces, so insert spaces according to
" your new preference
set tabstop=2
set shiftwidth=2
set expandtab
retab!
in una finestra vim, e sarà retab base alle proprie preferenze. Probabilmente si può creare una mappatura per rendere questo più facile, o registrare una macro. Ci potrebbe essere un altro modo, ma quanto sopra dovrebbe funzionare. ("
è commenti)
Altri suggerimenti
È possibile modificare le impostazioni, selezionare tutto, e premere il tasto per far rientrare =
esso:
ggVG=
Ho anche consigliamo di utilizzare ftplugin per specificare le impostazioni per ogni tipo di file.