Modalità malvagia ed espressioni regolari


10

In Vim, se voglio cercare tutti i nomi di variabili LX dove X è un numero, posso semplicemente digitare /L\d. Tuttavia, questo non sembra funzionare evil.

Esiste un'altra sintassi per le espressioni regolari in modalità Evil o dovrò ricorrere ad alcune funzionalità di Emacs per la ricerca e la sostituzione usando espressioni regolari?

Sto usando spacemacs, e sono abbastanza all'oscuro della maggior parte delle cose in Emacs, restando felicemente in modalità Male tutto il giorno :).


Dove stai cercando di cercare? In un documento o nelle variabili globali di emac?
Jules,

Sto cercando in un documento di testo
Michelrandahl,

Stai usando isearcho qualcosa di simile helm-swoopo swiper? Gli ultimi due dovrebbero essere in grado di fare facilmente quello che vuoi. Se si desidera utilizzare la isearchfunzione normale ma si desidera utilizzare un motore regexp diverso, consultare github.com/benma/visual-regexp-steroids.el
Jules,

Risposte:


7

evilutilizza le strutture regexp di Emacs sotto il cofano. Sfortunatamente, Emacs non sembra avere una classe di sintassi separata per le cifre e non riconosce la classe \d regexp .

Quindi, per abbinare la tua variabile denominata LXdove Xè una cifra, sembra che tu sia bloccato con il /L[0-9]grosso o anche il grosso /L[[:digit:]].

Tieni presente che, in linea di principio, sembra che potresti utilizzare i codici carattere elencati da 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).

Secondo describe-categories, le cifre sono della categoria 6. Quindi, /L\c6dovrebbe funzionare (anche se non per me, anche se lo fanno altre categorie). Tuttavia, non ti risparmieresti una digitazione molto scomoda rispetto a /L[0-9].


Grazie mille! Penso di poter vivere con la sintassi goffa per ora. Sono solo felice di cercare di sostituire di nuovo in modo più conveniente, e ho appena provato che funziona anche con modelli di acquisizione, yay!
Michelrandahl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.