我有一個自動命令,如果ft
是qf
,它會調用一些功能通過get/setqflist()
區分當前緩衝區的最佳方式是位置列表還是quickfix列表?
我知道有另一對功能get/setloclist()
修改quickfix列表,來處理位置列表。
我的問題是,如何知道當前緩衝區qf-list
或location-list
(他們都有filetype
qf
),這樣我知道哪些功能應該叫什麼名字?
到目前爲止,我能想到的是,假設loc和qf列表都不爲空,在qf-list上做一些更改,並與當前緩衝區進行比較,如果當前緩衝區也發生了變化,那麼它是qf-list ,否則應該是位置列表。最後回滾更改。但我覺得這是愚蠢的......應該有更好的方式來作出決定。
我錯過了一些函數/標誌/變量?
http://vim.1045645.n5.nabble.com/detect-QuickFix-window-list-or-LocationList-td4952180.html看看這個線程。 (第二個理想情況下是你想要的,但我認爲它不工作...)。這個人最終以'empty(getloclist(0))'結算,看看當前緩衝區的位置列表是否爲空,假設它是假設的快速修復。 – FDinoff
@FDinoff是在我的情況下,兩個列表可能是空的,可填充數據。 – Kent