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" 而不是全局设置上使用 set
和 setlocal
有什么区别吗?
<buffer>
on autocommands 仅用于定义自动命令,该自动命令在注册自动命令时仅适用于当前缓冲区。有些事件没有意义(例如缓冲区创建事件)。
然后,有些选项是全局的,有些是缓冲区本地的,有些是 windows 本地的。要确切知道,您必须深入研究他们的文档。有时我们可以为一个选项设置全局和本地设置。然而,IIRC 和我可能是错的,有些选项没有全局设置并且总是本地的。
PS:多亏了你,我才发现:set {option}<
。我期待了很久,却没有意识到它的存在...谢谢:)
在像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" 而不是全局设置上使用 set
和 setlocal
有什么区别吗?
<buffer>
on autocommands 仅用于定义自动命令,该自动命令在注册自动命令时仅适用于当前缓冲区。有些事件没有意义(例如缓冲区创建事件)。
然后,有些选项是全局的,有些是缓冲区本地的,有些是 windows 本地的。要确切知道,您必须深入研究他们的文档。有时我们可以为一个选项设置全局和本地设置。然而,IIRC 和我可能是错的,有些选项没有全局设置并且总是本地的。
PS:多亏了你,我才发现:set {option}<
。我期待了很久,却没有意识到它的存在...谢谢:)