Innym podejściem, w zależności od twojego przypadku użycia, byłoby użycie vimgrep i jego wyników w quickfix . Możesz wykonać następujące czynności:
:vimgrep pattern %
przeszuka bieżący plik i przeniesie Cię do pierwszego wyniku wyszukiwania. Co ważniejsze, wyniki są również umieszczane na „liście quickfix”.
:copen
otworzy listę quickfix w oddzielnym oknie quickfix. Będziesz miał więc oddzielne okno ze wszystkimi liniami z twojego ostatniego vimgrepa. W oknie quickfix możesz nacisnąć klawisz Enter lub dwukrotnie kliknąć linię, aby przejść do odpowiedniej linii w oryginalnym pliku.
:colder
pozwoli ci wrócić do starszych list quickfix (starszych wyników vimgrep). I :cnewer
przechodzi do nowszych wyników wyszukiwania.
Zauważ, że lista quickfix jest również aktualizowana podczas pracy :make
(dlatego nazywa się quickfix do naprawiania błędów). Z tego powodu istnieje również alternatywa dla listy szybkich poprawek, zwana „listą lokalizacji”. Aby go użyć zamiast użyć :lvimgrep
, a następnie użyć polecenia L-prefiksem zamiast poleceń C-prefiksem - :lopen
, :lolder
, :lnewer
.
Oczywiście możesz zrobić o wiele więcej. Zobacz, :help quickfix
aby uzyskać więcej informacji.
PS, powiedziałeś, że nie chcesz metody, która usuwa linie, a następnie je cofa. Ale skoro zaznaczyłeś g/ERROR
jako odpowiedź, pomyślałem, że wskazałbym szybką i nieprzyjemną metodę g!/ERROR/d
. Następnie możesz łatwo cofnąć to za pomocą u
. Również FYI, możesz to zrobić:set hlsearch
aby podświetlić wzorce dopasowane do :g
poleceń.