changer tabstop de 4 à 2 après avoir utilisé expandtab (avec un effort manuel minimum)

StackOverflow https://stackoverflow.com/questions/3518549

  •  29-09-2019
  •  | 
  •  

Question

Depuis quelque temps j'ai utilisé tabstop = 4 dans mes fichiers source. Maintenant que j'écris beaucoup de javascript qui a des entailles profondes, une tabstop de 4 Je veux convertir il semble inutile, donc à 2. Le problème est que je l'utilise « ensemble expandtab » aussi. Ainsi, la mise simplement tabstop = 2, ne sera pas utile.

Toutes les suggestions sur la façon dont je peux convertir tous mes fichiers rapidement tabstop 2?

Mes réglages actuels de .vimrc pertinents sont

set tabstop=4
set shiftwidth=4
set expandtab
Était-ce utile?

La solution

Vous pouvez faire

" 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!

dans une fenêtre de vim, et il retab en fonction de vos préférences. Vous pouvez probablement créer un mappage pour vous faciliter la tâche, ou enregistrer une macro. Il pourrait y avoir une autre façon, mais ce qui précède devrait fonctionner. (" est un commentaire)

Autres conseils

Vous pouvez modifier vos paramètres, sélectionnez tous, et appuyez sur la touche = pour indentera:

ggVG=

Je recommande également d'utiliser ftplugin pour spécifier les paramètres par type de fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top