Zacząłem uczyć się wyszukiwania słów Vima za pomocą *
i #
gdy kursor znajduje się nad bieżącym słowem. Ale to wyszukiwanie jest ograniczone do bieżącego bufora plików.
Czy istnieje polecenie lub skrót do rozszerzenia tego wyszukiwania na:
- wszystkie otwarte zakładki?
- wszystkie otwarte bufory?
Odpowiedzi:
Nie mam dokładnego rozwiązania twojego problemu, mam nadzieję, że pojawi się lepsza odpowiedź niż moja. Ale w ten sposób rozwiązałem problem znalezienia słowa we wszystkich buforach.
Pierwszy wiersz tworzy polecenie
Search
z wzorcem wyszukiwania jako argumentem, który zapisuje wyniki na liście szybkich poprawek. Dwie pozostałe linie mapują (przynajmniej dla mnie) niepotrzebne klawisze strzałek na coś użytecznego; są mapowane, aby przejść do następnego / poprzedniego wyszukiwania lub do następnego / poprzedniego błędu kompilacji itp., po prostu przechodzą przez listę szybkich poprawek. Możesz użyć tego w następujący sposób:źródło
:cn
lub:cp
przejść do następnego dokumentu.W rzeczywistości jest to zachowanie domyślne, chociaż może być trudne do zauważenia: spróbuj
*
następnie przejść do innej karty i użyćn
ansN
w trybie poleceń, aby przeskakiwać do przodu i do tyłu między wynikami wyszukiwania.Może to mieć większy sens, jeśli najpierw podświetlisz wszystkie trafienia:
źródło
hlsearch
tego powodu , że nie wiedziałem, a którego szukałbym jednego dnia :-). Jednak domyślnie próbowałem * #, n i N, i nie przeskakuje do innych buforów plików ...n
iN
nie przeskakuj buforów (owijają się), ale szukany termin jest wyszukiwany na wszystkich kartach; hit*
z podświetlenie następnie cyklu thru swoimi kartami - wszystkie będą podświetlone tym samym okresie, dzięki czemu można używaćn
iN
lokalnie tam bez nowego wyszukiwania.hlsearch
ustawiłeś.źródło
Ponieważ często to robię, opracowałem (możliwy do ulepszenia) skrypt.
Ty lub ktoś inny może ci się przydać.
Krótkie wyjaśnienie:
Zasadniczo przeszukuje listę buforów i pokazuje wynik w oknie szybkiego dostępu.
Dodano dwa podstawowe polecenia.
Search <pattern>
: Przeszukaj wszystkie bufory dla<pattern>
.Search1 <pattern>
: Przeszukaj wszystkie bufory<pattern>
, ale pokaż tylko pierwszy wynik dla każdego bufora. Zwykle przydatne do wyświetlania wszystkich buforów, w którychfoo
używana jest funkcja, zmienna (lub cokolwiek innego).Użyj bang (
:Search! foo
), aby dołączyć do wyników.Dodatkowo
GSearch
iGSearch1
dodaje gdzie różnica polega na tym, że zSearch
regex ogranicznika skrypt dodawać, np:Gdzie zgodnie z
GSearch
oczekiwaniami, należy go załączyć.j
Flaga jest zawsze dodawana do zapobiegania skok.Kod:
Istnieje kilka hacków, aby zapobiec wyświetlaniu błędów, a jednocześnie utrzymywać krótki kod.
try / catch
było trochę kłopotliwebufdo
.źródło