Intenté el comando habitual "gg = G", que es lo que uso para arreglar la sangría de los archivos de código. Sin embargo, no parecía funcionar bien en archivos HTML. Simplemente eliminó todo el formato.
Si el autoformato / sangría de vim gg=G
parece estar "roto" (como la sangría izquierda en cada línea), lo más probable es que el complemento de sangría no esté habilitado / cargado. Realmente debería dar un mensaje de error en lugar de simplemente hacer una sangría incorrecta, de lo contrario, los usuarios solo piensan que la función de autoformato / sangría es horrible, cuando en realidad es bastante buena.
Para verificar si el complemento de sangría está habilitado / cargado, ejecute :scriptnames
. Ver si .../indent/html.vim
está en la lista. Si no, entonces eso significa que el complemento no está cargado. En ese caso, agregue esta línea a ~/.vimrc
:
filetype plugin indent on
Ahora, si abre el archivo y lo ejecuta :scriptnames
, debería ver .../indent/html.vim
. Luego ejecute gg=G
, que debería hacer el autoformato / sangría correcto ahora. (Aunque no agregará nuevas líneas, por lo que si todo el código html está en una sola línea, no se sangrará).
Nota: si está ejecutando :filetype plugin indent on
en la línea de comando vim en lugar de ~/.vimrc
, debe volver a abrir el archivo :e
.
Además, usted no necesita preocuparse por autoindent
y smartindent
ajustes, que no son relevantes para esto.