¿Cuál es la diferencia entre autoindent y smartindent en vimrc?

36

Leí la entrada de wiki en la sangría del código fuente vim

Todavía no puedo entender la diferencia entre autoindentysmartindent

Parece que hacen lo mismo, copie el nivel de sangría a la siguiente línea cuando presiona enter.

Aaron Shen
fuente
66
El wiki está muy cerca de ser inútil. Leer :help autoindenty :help smartindent.
romainl
el wiki tiene una explicación bastante decente de sus opciones: vim.wikia.com/wiki/…
ian5v

Respuestas:

24

autoindentesencialmente le dice a vim que aplique la sangría de la línea actual a la siguiente (creada presionando enteren modo de inserción o con Oo oen modo normal .

smartindentreacciona a la sintaxis / estilo del código que está editando (especialmente para C). Al tener que en la que también debe tener autoindent en .

:help autoindenttambién menciona dos configuraciones alternativas: cindenty indentexpr, ambas hacen que vim ignore el valor de smartindent.

Guntbert
fuente