Quelle est la difference entre autoindent et smartindent in vimrc?

36

J'ai lu l'entrée du wiki sur l' indentation du code source de vim

Je ne comprends toujours pas la différence entre autoindentetsmartindent

Il semble qu'ils fassent la même chose, copiez le niveau d'indentation sur la ligne suivante lorsque vous appuyez sur enter.

Aaron Shen
la source
6
Le wiki est très proche d'inutile. Lire :help autoindentet :help smartindent.
Romainl
le wiki a en fait une explication assez décente de vos options: vim.wikia.com/wiki/…
ian5v

Réponses:

24

autoindentindique essentiellement à vim d'appliquer l'indentation de la ligne actuelle à la suivante (créée en appuyant sur enteren mode insertion ou avec Oou oen mode normal .

smartindentréagit à la syntaxe / style du code que vous éditez (en particulier pour C). Quand l' avoir sur vous aussi devrait avoir autoindent sur .

:help autoindentmentionne également deux paramètres alternatifs: cindentet indentexpr, ce qui fait que vim ignore la valeur de smartindent.

Guntbert
la source