2016-07-15 82 views
9

Jest kilka rzeczy, których jeszcze nie rozumiem.Jak wyszukiwać we wszystkich plikach mojego projektu za pomocą VIM?

Jednym z nich jest poszukiwanie w projekcie jak tak (przy użyciu VIM w Atom):

enter image description here

używam CtrlP obecnie dla nazw plików, ale co z zawartością?

Jak mogę wyszukać ciąg znaków, a następnie przejrzeć listę wszystkich wystąpień za pomocą wtyczek VIM i/lub VIM?

+2

zainstalować [ACK] (http://beyondgrep.com/) i/lub [ag] (http://geoff.greer.fm/ag/), a następnie za pomocą [CtrlSF] (https://github.com/dyng/ctrlsf.vim) wtyczka. Nie spojrzysz za siebie. –

Odpowiedz

12

Znalazłem jeszcze lepsze rozwiązanie tego problemu: FZF

To po prostu przeszukuje wszystko w projekcie asynchronicznie za pomocą komendy :Ag.

enter image description here

+0

Uwaga: to wymaga również zainstalowania silver_searcher https://github.com/ggreer/the_silver_searcher –

6

Użyj opcji :grep lub :vimgrep, aby wyszukać zawartość pliku. Wyniki są umieszczane na "liście lokalizacji", którą można otworzyć, wpisując: :cwWprowadź.

Składnia :grep jest domyślnie taka sama jak komenda grep(1):

:grep 'my pattern.*' /path/to/dir 

Domyślnie będzie przeszukiwać katalog bieżący (:pwd).

Główną różnicą pomiędzy :grep i :vimgrep że :vimgrep (:vim w skrócie) używa wyrażeń regularnych vim-kompatybilne, natomiast :grep zastosowań niezależnie Wyrażenia regularne swoje &grepprg zastosowań.

Możesz użyć niestandardowego programu, ustawiając &grepprg na coś innego. Osobiście lubię ack, który używa regex zgodny z Perl.

+0

Tak, a co z listą wystąpień? – Sem

+0

@Sem Rozszerzyłem swoją odpowiedź tak, aby była tak dokładna, jak tylko mogę, bez zbytniego wchodzenia w nią. – amphetamachine

+0

Dzięki, staram się wszystko teraz :) – Sem