我的Vim脚本中包含以下代码:
for buf_i in getbufinfo({'buflisted':1})
" If buf_i is quickfix list buffer do one thing
" ...
" If buf_i is location list buffer do another thing
"...
endfor
如何区分quickfix和位置列表缓冲区?两者均为&buftype='quickfix'
。或者,也许您知道,如何获取quickfix和位置列表bufnr?
UPD:Liu Sha在duplicate question中提出的方法很好,而且我知道另一个可以提供所需结果的方法:winbufnr(getqflist({'winid' : 1}).winid)
。但是问题是,用cclose
和lclose
关闭后,带有补丁8.1.0877的Vim不会清除quickfix list和location列表缓冲区。因此,当窗口关闭时它不起作用,但是缓冲区仍然存在。