Tryb zła i wyrażenia regularne

10

W Vimie, jeśli chcę wyszukać wszystkie nazwy zmiennych LX, gdzie X jest liczbą, mogę po prostu wpisać /L\d. Nie wydaje się to jednak działać evil.

Czy istnieje inna składnia wyrażeń regularnych w trybie Evil, czy też będę musiał skorzystać z niektórych funkcji Emacsa w celu wyszukiwania i zamiany za pomocą wyrażeń regularnych?

Używam spacemacsi nie mam pojęcia o większości rzeczy w Emacsie, z radością pozostając w trybie Zła przez cały dzień :).

Michelrandahl
źródło
Gdzie próbujesz szukać? W dokumencie lub w zmiennych globalnych emac?
Jules
Szukam w dokumencie tekstowym
Michelrandahl
Używasz isearchczy coś takiego jak helm-swooplub swiper? Dwa ostatnie powinny być w stanie zrobić to, co chcesz. Jeśli chcesz użyć normalnej isearchfunkcji, ale chcesz użyć innego silnika wyrażeń regularnych,
Jules,

Odpowiedzi:

7

evilkorzysta z funkcji wyrażeń regularnych Emacsa pod maską. Niestety, Emacs nie wydaje się mieć oddzielnej klasy składni cyfr i nie rozpoznaje klasy \d regexp .

Tak więc, aby dopasować zmienną o nazwie LXgdzie Xjest cyfra, wygląda na to, że utknąłeś z niezgrabnym /L[0-9]lub jeszcze bardziej niezrozumiałym /L[[:digit:]].

Pamiętaj, że w zasadzie wygląda na to, że możesz użyć kodów znaków wymienionych przez describe-categories:

`\cc`

matches any character whose category is *c*.  Here *c* is a
character that represents a category: thus, 'c' for Chinese
characters or 'g' for Greek characters in the standard
category table. You can see the list of all the currently
defined categories with `M-x describe-categories RET`. You can
also define your own categories in addition to the standard
ones using the `define-category` function (see Categories).

Według describe-categories, cyfry są kategorią 6. Dlatego /L\c6powinny działać (chociaż dla mnie to nie działa, chociaż inne kategorie działają). Mimo to nie oszczędzasz sobie pisania niezręcznie w porównaniu do /L[0-9].

Dan
źródło
Dziękuję Ci bardzo! Myślę, że na razie mogę żyć z niezgrabną składnią. Po prostu cieszę się, że wyszukiwanie zastępuje w jeszcze wygodniejszy sposób, a ja właśnie przetestowałem, że działa nawet ze wzorami przechwytywania, tak!
Michelrandahl