Was ist der Unterschied zwischen autoindent und smartindent in vimrc?

36

Ich habe den Wiki-Eintrag zum Einrücken von Vim-Quellcode gelesen

Ich kann den Unterschied zwischen autoindentund immer noch nicht verstehensmartindent

Es scheint, dass sie dasselbe tun: Kopieren Sie die Einrückungsstufe in die nächste Zeile, wenn Sie drücken enter.

Aaron Shen
quelle
6
Das Wiki ist fast unbrauchbar. Lesen Sie :help autoindentund :help smartindent.
Romainl
Das Wiki hat tatsächlich eine ziemlich anständige Erklärung Ihrer Optionen: vim.wikia.com/wiki/…
ian5v

Antworten:

24

autoindentIm Wesentlichen weist vim an, den Einzug der aktuellen Zeile auf die nächste anzuwenden (erstellt durch Drücken von enterim Einfügemodus oder mit Ooder oim normalen Modus).

smartindentReagiert auf die Syntax / den Stil des Codes, den Sie bearbeiten (insbesondere für C). Wenn es mit auf Sie sollte auch autoindent auf .

:help autoindenterwähnt auch zwei alternative Einstellungen: cindentund indentexpr, bei denen vim den Wert von ignoriert smartindent.

guntbert
quelle