首页 > 解决方案 > 如何区分快速修复和位置列表缓冲区?

问题描述

我的 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

如何区分快速修复和位置列表缓冲区?&buftype='quickfix'对彼此而言。或者,您可能知道如何获取 quickfix 和位置列表 bufnr?

UPD:刘沙在重复问题中提出的方法很好,而且我知道另一个给出我需要的结果的方法:winbufnr(getqflist({'winid' : 1}).winid)。但问题是带有补丁 8.1.0877 的 Vim 在关闭cclose和后不会清除快速修复列表和位置列表缓冲区lclose。所以当窗口关闭时它不起作用,但缓冲区仍然存在。

标签: vim

解决方案


推荐阅读