26

:help autoindent : 开始新行时从当前行复制缩进(在插入模式下键入或使用“o”或“O”命令时)。...

:help smartindent : 开始新行时进行智能自动缩进。适用于类 C 程序,但也可用于其他语言。...

通常在使用 'smartindent' 时,'autoindent' 也应该打开。 自动插入缩进:

  • 在以“{”结尾的行之后。
  • 在以 'cinwords' 中的关键字开头的行之后。
  • 在以 '}' 开头的行之前(仅使用“O”命令)。

    当在新行中键入“}”作为第一个字符时,该行的缩进与匹配的“{”相同。...

smartindent在开始新行时也会处理当前行的缩进。这意味着自动缩进功能是智能缩进功能的子集,如果启用智能缩进功能,则不需要自动缩进,对吗?为什么要打开自动缩进

4

1 回答 1

54

smartindent是一个旧脚本,当它被编写时,它的意思是作为autoindent. 从那时起,大多数语言要么具有特定的缩进功能,要么cindent与特定的选项一起使用。

一般来说,smartindent根本不应该使用。

以下几行通常足以处理缩进:

set autoindent
filetype plugin indent on

autoindent不是绝对必要的,但在使用纯文本时最好拥有它。

于 2013-08-24T06:52:26.630 回答