cambiar tabstop de 4 a 2 después de usar expandtab (con un esfuerzo manual mínimo)

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

  •  29-09-2019
  •  | 
  •  

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
¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top