Qual é a diferença entre autoindent e smartindent no vimrc?

36

Eu li a entrada wiki no recuo do código fonte do vim

Ainda não consigo entender a diferença entre autoindentesmartindent

Parece que eles fazem a mesma coisa; copie o nível de indentação para a próxima linha quando você pressionar enter.

Aaron Shen
fonte
6
O wiki é muito próximo de inútil. Leia :help autoindente :help smartindent.
romainl
o wiki realmente tem uma explicação bastante decente de suas opções: vim.wikia.com/wiki/…
ian5v

Respostas:

24

autoindentessencialmente diz ao vim para aplicar o recuo da linha atual na próxima (criada pressionando enterno modo de inserção ou com Oou ono modo normal .

smartindentreage à sintaxe / estilo do código que você está editando (especialmente para C). Quando tê-lo em você também deve ter autoindent em .

:help autoindenttambém menciona duas configurações alternativas: cindente indentexpr, ambas as quais fazem com que o vim ignore o valor de smartindent.

Guntbert
fonte