8

在 vimla​​nguage 中,您只能使用setlocal. 但是,我需要设置一个比文字更复杂的表达式,而setlocal.

我目前有let &formatprg=s:prgpath." ".a:args,但这为所有缓冲区设置了 formatprg,这不是我想要的。我将如何设置 formatprg 像上面一样,仅用于当前缓冲区?

4

2 回答 2

18

使用let &l:option而不是let &option仅更改本地值,例如setlocal option. 同样,let &g:option只会设置全局值,例如setglobal option. 有关:help :let-option更多信息,请参阅。

请注意,这尤其是全局的(其帮助formatprg中没有“本地缓冲区” )。

于 2013-01-24T15:01:41.817 回答
1

制作一个全局选项 buffer-local 需要修改 Vim 的源代码。或者,我刚刚发布了使用 autocmds 解决此问题的GlobalOptions 插件,并将任何全局选项转换为缓冲区或窗口本地选项。

于 2013-01-25T13:26:42.447 回答