Vim:了解本地设置 - 何时使用 buffer local 与 setlocal?

Vim: Understanding local settings - when to use buffer local vs setlocal?

在像autocmd InsertEnter <buffer> setlocal foo=bar这样的行中,<buffer>setlocal是多余的吗?以下各项之间的功能差异是什么?

autocmd InsertEnter <buffer> setlocal foo=bar

autocmd InsertEnter <buffer> set foo=bar

autocmd InsertEnter setlocal foo=bar

autocmd InsertEnter set foo=bar

此外,在 "local to window" 或 "local to buffer" 而不是全局设置上使用 setsetlocal 有什么区别吗?

<buffer> on autocommands 仅用于定义自动命令,该自动命令在注册自动命令时仅适用于当前缓冲区。有些事件没有意义(例如缓冲区创建事件)。

然后,有些选项是全局的,有些是缓冲区本地的,有些是 windows 本地的。要确切知道,您必须深入研究他们的文档。有时我们可以为一个选项设置全局和本地设置。然而,IIRC 和我可能是错的,有些选项没有全局设置并且总是本地的。

PS:多亏了你,我才发现:set {option}<。我期待了很久,却没有意识到它的存在...谢谢:)