cambiar tabstop de 4 a 2 después de usar expandtab (con un esfuerzo manual mínimo)
Pregunta
Desde hace algún tiempo he utilizado tabstop = 4 en mis archivos de origen. Ahora que escribo mucho javascript que tiene hendiduras profundas, un tabstop de 4 parece un desperdicio, así que quiero convertirlo a 2. El problema es que utilizo "conjunto expandtab" también. Así que simplemente establecer tabstop = 2, no ayudará.
¿Alguna sugerencia sobre cómo puedo convertir todos mis archivos de forma rápida a TabStop 2?
Mi configuración actual de .vimrc relevantes son
set tabstop=4
set shiftwidth=4
set expandtab
Solución
Puede hacer
" 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!
en una ventana vim, y se retab de acuerdo a sus preferencias. Probablemente se puede crear una asignación para hacer esto más fácil, o grabar una macro. No podría haber otra manera, pero lo anterior debería funcionar. ("
es comentario)
Otros consejos
Puede cambiar la configuración, seleccionar todo, y pulsa la tecla =
para sangrar él:
ggVG=
También recomendamos el uso de ftplugin para especificar los ajustes por tipo de archivo.