我正在为 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 回答