Sublime text 2 - znajdź i zamień globalnie (wszystkie pliki i we wszystkich katalogach)

Odpowiedzi:

234

Tak, istnieje funkcja wyszukiwania i zastępowania wielu plików .

Naciśnij ctrlshiftF( cmdshiftFna MacOS):

wprowadź opis obrazu tutaj

w Where polu możesz również dodać filtry, aby przeszukiwać tylko potrzebne foldery i pliki. Jeśli nic nie jest ustawione, wyszukiwanie jest przeprowadzane we wszystkich plikach wymienionych na pasku bocznym.

Jeśli klikniesz dwukrotnie wiersz wyniku wyszukiwania, Sublime przejdzie do tego wiersza.

Zwróć uwagę na te ikony na pasku wyszukiwania:

wprowadź opis obrazu tutaj

Pierwszy ( pokaż kontekst ) przełącza kontekst w formacie wyniku (jeśli jest włączony, niektóre wiersze tekstu są wyświetlane przed i po pasującym wierszu). Drugi pozwala pokazać wynik w nowym buforze lub w konsoli.

Riccardo Marotti
źródło
2
Czy istnieje sposób kontrolowania, które przypadki znalezione w sekcji „Znajdź w plikach” zostaną zastąpione? Przycisk Zamień powoduje Zastąp_Wszystkie.
George Shaw
Myślę, że jedynym sposobem jest skorzystanie z wyszukiwania wielu plików, aby uzyskać pliki, które należy zmodyfikować, a następnie użyć normalnego wyszukiwania i zastępowania (cmd + alt + F), plik po pliku.
Riccardo Marotti
Nie udaję, że wiem więcej niż sam twórca ST, ale możesz po prostu zamknąć pliki (kliknięcie środkowym przyciskiem myszy lub ctrl + w), w których nie potrzebujesz wprowadzać zmian, a następnie kliknij zamień. Następnie możesz użyć Ctrl + Shift + T, aby ponownie otworzyć zamknięte pliki. Możesz także „dodać filtr wykluczający”, klikając przycisk pośrodku (wielokropek) i zapisywać pliki, których nie chcesz zastąpić.
Ivan Castellanos
6
Jeśli umieścisz <project>pole „Gdzie”, przeszuka on rekurencyjnie wszystkie foldery i pliki w aktualnie otwartym projekcie. Możesz również wpisać ścieżkę względną (np search/for/things/here/. Przeszuka on tylko ten folder, rekurencyjnie, względem katalogu głównego projektu. Bardzo przydatne.
jeffbyrnes
2
Do tego, gdy pole wymyślić domyślnie z wyszukiwaniem i zastąpić (Ctrl + H) Dodałem to do moich skróty klawiszowe użytkownika: { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }
reflexiv
8

Naciśnij ctrlshiftF( cmdshiftFna  Mac OS X :), a następnie wstaw *.*w where:polu

Spowoduje to otwarcie wyszukiwania do wszystkich plików w projekcie, a nie tylko do otwartych plików lub folderów.

Możesz również użyć tego do wyszukiwania tylko plików określonego typu lub o określonej nazwie, niezależnie od typu. To tylko symbole wieloznaczne dla nazwy pliku i rozszerzenia.

Mike Lyons
źródło