我有一个autocmd,如果ft是qf,它会调用一些函数来修改quickfix列表get/setqflist()
我知道还有另外一对函数get/setloclist()来处理位置列表.
我的问题是,如何知道当前缓冲区是否qf-list或location-list(它们都有filetype qf),以便我知道应该调用哪些函数?
到目前为止,我能想到的是,假设loc和qf列表都不为空,在qf-list上做一些更改,并与当前缓冲区进行比较,如果当前缓冲区也被更改,则为qf-list,否则应该是位置列表.最后回滚更改.但我觉得这很愚蠢...应该有更好的方法来做出决定.
我错过了一些函数/标志/变量吗?
仅适用于新手:截至目前,有getwininfo()返回的字典包含quickfix可用于检查的密钥。还要注意loclist钥匙。
由于getwininfo返回字典列表,因此您可以使用:
getwininfo(win_getid())[0]['quickfix']
Run Code Online (Sandbox Code Playgroud)
当它是快速修复程序或位置列表窗口时为1。和
getwininfo(win_getid())[0]['loclist']
Run Code Online (Sandbox Code Playgroud)
仅当它是位置列表时为1。
| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |