이블 모드와 정규 표현식


10

Vim에서 X가 숫자 인 모든 변수 이름 LX를 검색하려면 간단히 입력하면됩니다 /L\d. 그러나 이것은 작동하지 않는 것 같습니다 evil.

이블 모드에서 정규 표현식에 대한 또 다른 구문이 있습니까? 아니면 정규 표현식을 사용하여 검색하고 교체하기 위해 일부 Emacs 기능으로 대체해야합니까?

나는을 사용 spacemacs하고 있으며, Emacs의 대부분의 것들에 대해 아주 단서가 없으며, 하루 종일 이블 모드에 행복하게 머물고 있습니다 :).


어디에서 검색하려고합니까? 문서 또는 emac의 전역 변수에서?
Jules

텍스트 문서를 검색 중입니다
Michelrandahl

당신이 사용하고 isearch또는 뭔가처럼 helm-swoopswiper? 마지막 두 개는 원하는 것을 쉽게 할 수 있어야합니다. 일반 isearch기능을 사용하고 싶지만 다른 정규식 엔진을 사용하려면 github.com/benma/visual-regexp-steroids.el을 참조하십시오.
Jules

답변:


7

evil후드 아래 Emacs regexp 기능을 사용합니다. 불행히도, Emacs는 숫자에 대한 별도의 구문 클래스 를 가지고 있지 않으며 \d regexp 클래스를 인식하지 못합니다 .

그래서,라는 이름의 변수와 일치하는 LX경우 X숫자, 그것은 투박한 나왔습니다 붙어처럼 보이는 /L[0-9]하거나 심지어 clunkier /L[[:digit:]].

원칙적으로 다음과 같이 문자 코드 를 사용할 수 있습니다 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).

에 따르면 describe-categories숫자는 범주 6입니다. 따라서 /L\c6다른 범주와 달리 작동하지는 않지만 작동합니다. 그럼에도 불구하고와 비교할 때 많은 어색한 입력을 저장하지 않을 것 /L[0-9]입니다.


대단히 감사합니다! 지금은 어리석은 구문으로 살 수 있다고 생각하십시오. 검색을 더 편리하게 다시 검색하는 것이 좋으며 캡처 패턴과도 호환되는지 테스트했습니다.
Michelrandahl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.