Vim 如何获得';文件类型';由数字指定的缓冲区的名称?
我正在为VIM编写插件,我需要知道由数字指定的缓冲区的Vim 如何获得';文件类型';由数字指定的缓冲区的名称?,vim,Vim,我正在为VIM编写插件,我需要知道由数字指定的缓冲区的文件类型。但是文件类型是一个选项-如何以编程方式获取指定的缓冲区选项?我可以通过bufname()vimscript函数获取缓冲区名称,但我没有找到任何允许我获取选项的函数。也许这是bufdo的一些技巧?在选项前面加一个&。例如 :echo &tabstop :let myts = &tabstop :echo myts :let &ts = myts 请参见:帮助:let-& 您在任务中可能需要的其他功能包括:
文件类型。但是文件类型
是一个选项
-如何以编程方式获取指定的缓冲区选项?我可以通过bufname()
vimscript函数获取缓冲区名称,但我没有找到任何允许我获取选项的函数。也许这是bufdo
的一些技巧?在选项前面加一个&。例如
:echo &tabstop
:let myts = &tabstop
:echo myts
:let &ts = myts
请参见:帮助:let-&
您在任务中可能需要的其他功能包括:
getbufvar()
/setbufvar()
getwinvar()
/setwinvar()
gettabvar()
/settabvar()
gettabwinvar()
/settabwinvar()
请参见:帮助变量函数
对于简单的情况,您也可以这样做:
function! SetTabstopFromBufname(name)
execute 'silent edit' bufname(a:name)
let myts = &tabstop
silent edit #
let &l:tabstop = myts
endfunction
call SetTabstopFromBufname('vimrc')
getbufvar()
函数不仅可以检索变量,还可以缓存本地选项(前缀为&
):
:let bufFiletype = getbufvar(bufNr, '&filetype')