¿Cómo sangrar como espacios en lugar de tabulación?

21

Estoy codificando algunas plantillas html en archivos JADE. Quiero sangrar automáticamente el código con espacios en lugar de tabulación. Lo intenté shiftwidth=2, tabstop=2pero no importa qué, sigue siendo sangría usando pestañas en lugar de barra espaciadora, lo que hace que la compilación JADE arroje errores.

¿Cómo puedo sangrar automáticamente grandes secciones de código usando espacios en lugar de pestañas?

John
fuente

Respuestas:

25

Estás buscando la expandtabopción. Cuando se establece esta opción, siempre se utilizan espacios . Puede poner set expandtabsu vimrc para tener siempre esta opción configurada cuando se inicie vim. Si solo desea habilitar esta opción para idiomas específicos, consulte esta pregunta . Para obtener ayuda sobre esta opción, consulte :help 'expandtab'.

Árbol de hoja perenne
fuente
1
gracias :set expandtabme permitió usar espacios en lugar de pestañas para la sangría
John
¿Es cierto que tses inútil cuando etestá configurado?
iBug
@iBug No si está creando el archivo usted mismo, pero puede ser útil configurarlo si está editando archivos existentes que tienen pestañas. Vea vim.fandom.com/wiki/Indenting_source_code para más información sobre sangría, lo encontré mucho más claro que los archivos de ayuda de vim.
EvergreenTree
22

Quieres expandtab.

Pero generalmente hay un par de opciones que desea establecer al mismo tiempo.

Si agrega lo siguiente a su archivo ~ / .vimrc

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

Alternativamente, puede ejecutarlos manualmente desde el modo normal procediéndolos con ':'

Martin York
fuente