在 vimlanguage 中,您只能使用setlocal
. 但是,我需要设置一个比文字更复杂的表达式,而setlocal
.
我目前有let &formatprg=s:prgpath." ".a:args
,但这为所有缓冲区设置了 formatprg,这不是我想要的。我将如何设置 formatprg 像上面一样,仅用于当前缓冲区?
在 vimlanguage 中,您只能使用setlocal
. 但是,我需要设置一个比文字更复杂的表达式,而setlocal
.
我目前有let &formatprg=s:prgpath." ".a:args
,但这为所有缓冲区设置了 formatprg,这不是我想要的。我将如何设置 formatprg 像上面一样,仅用于当前缓冲区?
使用let &l:option
而不是let &option
仅更改本地值,例如setlocal option
. 同样,let &g:option
只会设置全局值,例如setglobal option
. 有关:help :let-option
更多信息,请参阅。
请注意,这尤其是全局的(其帮助formatprg
中没有“本地缓冲区” )。
制作一个全局选项 buffer-local 需要修改 Vim 的源代码。或者,我刚刚发布了使用 autocmds 解决此问题的GlobalOptions 插件,并将任何全局选项转换为缓冲区或窗口本地选项。