我正在为 VIM 编写插件,我需要知道一个filetype
由数字指定的缓冲区。但是- 我如何filetype
以编程方式获取指定的缓冲区选项?option
我可以通过 vimscript 函数获取缓冲区名称bufname()
- 但我没有找到任何可以让我获得选项的函数。也许这是一些技巧bufdo
?
问问题
1272 次
2 回答
4
该getbufvar()
函数不仅可以检索变量,还可以检索缓冲区本地选项(以 为前缀&
):
:let bufFiletype = getbufvar(bufNr, '&filetype')
于 2013-09-10T09:47:19.203 回答
3
使用&为选项添加前缀。例如
:echo &tabstop
:let myts = &tabstop
:echo myts
:let &ts = myts
见:help :let-&
。
您可能需要的其他功能包括:
getbufvar()
/setbufvar()
getwinvar()
/setwinvar()
gettabvar()
/settabvar()
gettabwinvar()
/settabwinvar()
见:help var-functions
。
对于简单的情况,您还可以执行以下操作:
function! SetTabstopFromBufname(name)
execute 'silent edit' bufname(a:name)
let myts = &tabstop
silent edit #
let &l:tabstop = myts
endfunction
call SetTabstopFromBufname('vimrc')
于 2013-09-10T09:05:02.910 回答