Poniższe pochodzi z dokumentacji dotyczącej listy szybkich poprawek i listy lokalizacji. Ale nie jestem pewien, co właściwie się różni. Poniższy obrazek przedstawia te same rzeczy z listy lokalizacji i listy szybkich poprawek. Kiedy używam jednego lub drugiego w vimgrep i 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.
...
AKTUALIZACJA
Znalazłem następujące informacje tutaj .
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.
Więc różnica polega na tym, że wszystkie okna dla listy quickfix i okna lokalnego dla listy lokalizacji. Jednak mogę otworzyć listę lokalizacji z innych okien. Więc jaka jest różnica?
-q errors.txt
, po umieszczeniu błędów kompilacji werrors.txt
(tj.gcc -Wall *.c >errors.txt 2>&1
), Vim zapełni listę quickfix z listy błędów kompilacji, co jest bardzo przydatne.foo1.txt
,foo2.txt
...) dlafoo
w lewym oknie i wielu plików (bar1.txt
,bar2.txt
...) nabar
w prawym oknie. Możesz uruchomić:lv foo foo*
w lewym oknie, a następnie:lv bar bar*
w prawym oknie. Następnie w lewym oknie:lne
wyświetli się następny mecz dlafoo
, niebar
. Dzieje się tak, ponieważ:lv
używa listy lokalizacji okna, w którym je uruchomisz, więc każde wyszukiwanie ma własną listę lokalizacji.