Całkiem podstawowe pytanie dotyczące Hełmu. Co to jest okno / polecenie / funkcja steru, które pozwala nam wyszukiwać tekst (najlepiej przy użyciu regexp
) w dowolnym buforze (np. W tym tylko do odczytu, takim jak w3m
)?
Innymi słowy, szukam odpowiednika Helma dla natywnych poleceń Emacsa dla isearch-forward
( C-s
) / isearch-backward
( C-r
).
Aby to zilustrować: po wywołaniu jednego z natywnych isearch
poleceń ( C-s
lub C-r
) możemy wyjść z trybu wyszukiwania na jeden z dwóch sposobów:
możemy wyjść i powrócić do pierwotnego punktu (przez
C-g
) lubmożemy wyjść i kontynuować przeglądanie bufora z bieżącego punktu, tj. z aktualnie dopasowanego tekstu (
RET
między innymi).
Szukam drugiej z tych dwóch opcji.
Oto, co próbowałem do tej pory:
helm-regexp
: jest to najbliższa rzecz, której szukam, ale wykonuje ona jedynie ekwiwalentC-s
/C-r
+C-g
(tzn. zabiera nas z powrotem do pierwotnego punktu; brak opcji zakończenia wyszukiwania i kontynuowania przeglądania bufora z aktualnie dopasowanego punkt).helm-do-grep
: wygląda na to, że służy tylko do wyszukiwania tekstu w plikach (tzn. nie działa na w3m)helm-buffer-run-grep
/-zgrep
: uruchomienie tej komendy / funkcji powoduje wyświetlenie komunikatu o błędzie w mini-buforze:Running helm command outside of context
kiedy
helm-mode
jest włączony, wywołujeC-s
lubC-r
uruchamia natywnąisearch
funkcję Emacsa (nie jest zastępowany interfejsem Helma). (może istnieje ustawienie, które możemy zmienić, aby Helm mógł przejąć to polecenie? tj. podobnie jak Helm przejmuje natywne polecenie forwrite-file
(C-x C-w
), którego można użyć do zmiany nazwy pliku w otwartym buforze. po prostu burza mózgów.)
helm-occur
zfollow-mode
włączoną.Odpowiedzi:
Możesz użyć polecenia ster-wystąpienie jako narzędzia dostarczanego z podstawowym modułem steru. Ale dla mnie jednym z najlepszych narzędzi do wyszukiwania buforów opartych na sterach jest uderzenie steru Shingo Fukuyamy . Możesz go pobrać z github i za pośrednictwem MELPA. Ma wymaganą funkcjonalność polegającą na upuszczeniu punktu na pozycji dopasowania (co może być wyrażeniem regularnym). Ale możesz także użyć Cg, aby kursor powrócił do początku.
Na stronie github helm-swoop znajdziesz całą masę innych przydatnych funkcji, które oferuje ten pakiet (w tym wyszukiwanie wielu buforów za pomocą helm-multi-swoop i możliwość edycji linii wyników, dzięki czemu zmiany są zastosowane do bufora bazowego).
źródło
helm-swoop
jest naprawdę ulepszoną wersjąhelm-occur
.helm-swoop
... i nigdy nie wrócę! DziękiMożesz użyć,
helm-occur
aby zobaczyć wszystkie linie zawierające dopasowania do wzorca wyszukiwania. Możesz używaćC-n
iC-p
do poruszania się po liście, a następnie naciśnij,RET
aby zamknąć bufor steru i przesuń kursor do pasującej linii.Lubię włączać,
helm-follow-mode
kiedy korzystam,helm-occur
aby okno źródłowe zawsze pokazywało kontekst aktualnie wybranego dopasowania. Możesz włączyć tryb śledzenia automatycznie w następujący sposób:źródło