vim中的位置列表和quickfix列表有什么区别?

以下是有关quickfix列表和位置列表的文档。 但我不确定实际上有什么不同。 下图显示了位置列表和quickfix列表中的相同内容。 什么时候在vimgrep和lvimgrep中使用一个或另一个?

In Vim the quickfix commands are used more generally to find a list of positions in files.For example, |:vimgrep| finds pattern matches. You can use the positions in a script with the |getqflist()| function. Thus you can do a lot more than the edit/compile/fix cycle! ... ... *location-list* *E776* A location list is similar to a quickfix list and contains a list of positions in files. A location list is associated with a window and each window can have a separate location list. A location list can be associated with only one window. The location list is independent of the quickfix list. ... 

在这里输入图像说明

UPDATE

我从这里find了以下内容。

 These commands all fill a list with the results of their search. "grep" and "vimgrep" fill the "quickfix list", which can be opened with :cw or :copen, and is a list shared between ALL windows. "lgrep" and "lvimgrep" fill the "location list," which is local to the current window, and can be opened with :lw or :lopen. Both of these lists can be used to instantly jump to the matching line in whatever file it occurs in. 

所以区别在于quickfix列表的所有窗口和位置列表的本地窗口。 不过,我可以从任何其他窗口打开位置列表。 那么有什么区别?

位置列表位于当前窗口的本地,因此您可以拥有与windows相同的位置列表:30个窗口? 没问题,这是您的30个并发位置列表。

quickfix列表是全球性的,所以你一次不能有多个可用的。 有一些命令允许你用前一个replace当前的quickfix列表,但你不能有两个并发的quickfix列表。

不要将location / quickfix“lists”(数据结构)与位置/ quickfix“windows”(显示这些数据结构内容的窗口)混淆。 “窗口”具有类似的行为,但“列表”则没有。 区别很重要,因为这些窗口并不是与这些列表进行交互的唯一方式:有许多命令允许我们在打开相关窗口的情况下移动这些列表并且知道这些列表之间的差异是有效使用这些命令的关键。

动手说明的例子:

$ vim -O foo.txt bar.txt

  1. foo.txt :lvim foo %为包含foo.txt的窗口创build一个位置列表。

  2. :lne有几次在foo.txt跳到几个foo

  3. 关注bar.txt并执行:lne 。 怎么了?

  4. 现在,执行:lvim bar %为包含bar.txt的窗口创build一个位置列表。

  5. :lne几次。 你跳什么比赛? 在哪个缓冲区? 在哪个窗口?

  6. 切换到另一个窗口,并执行:lne几次。 怎么了?

  7. 再次切换到bar.txt 。 什么:lne做什么?

  8. 现在,执行:vim bar % bar.txt :vim bar %来创build一个quickfix列表。

  9. :cn几次跳到bar.txt的几个bar

  10. 现在,关注foo.txt ,做什么:cn呢?

你跳转到的位置:lne取决于你所在的窗口,但是你跳到的错误是:cn总是一样的(直到你用另一个replace当前的quickfix列表)。

这两个列表都有相对明确的angular色IMO:quickfix列表(因此quickfix窗口)通常是相当逻辑地致力于错误和位置列表似乎(对我来说)适合search。