Mostrar solo líneas que contengan frases / expresiones regulares

8

Me gustaría ver todas las líneas del búfer actual, que contienen alguna frase, o coinciden expresiones regulares. Ejemplo:

Mi buffer:

dam madam
madam

this is da
m a
dam 1
dam 2
dam pi
dam 321:)
is dam 2?

Buscando dam. Resultado: dam madam dam 1 dam 2 dam pi dam 321:) is dam 2?

El mismo búfer. Buscando expresión regular: ^dam\s\d. Resultado: dam 1 dam 2 dam 321:)

¿Cómo puedo hacer esto?

MatthewRock
fuente
helm-swoop github.com/ShingoFukuyama/helm-swoop proporciona esto como una búsqueda interactiva, que admite expresiones regulares. Le brinda un menú temporal de líneas que coinciden, desde el cual puede saltar rápidamente a una para editar
Tyler el
44
Alternativamente, la función incorporada occurcrea un nuevo búfer que enumera todas las líneas que coinciden con su expresión regular. Golpear le epermite editar esas líneas directamente desde el búfer de ocurrencia.
Tyler

Respuestas:

13

... ver todas las líneas del búfer actual ...

Con comandos integrados y sin paquetes externos o dependencias en

un nuevo buffer, use:

M-x occur

el mismo buffer, use:

M-x keep-lines
Usuario de Emacs
fuente
¡Excelente! Eso es lo que estaba buscando!
MatthewRock
1

El comando múltiple Iciclesicicle-occur (vinculado al C-'modo Icicle) hace esto.

A medida que escribe en el minibúfer, las líneas que coinciden con el patrón que escribe se muestran como candidatos de finalización. Su patrón puede ser tan simple o complejo (por ejemplo, una expresión regular) como desee. Puede cambiar el patrón dinámicamente, y el conjunto de coincidencias cambia en consecuencia.

Puede combinar patrones de búsqueda, es decir, puede usar cualquier número de ellos para reducir el conjunto de resultados de búsqueda. Por lo general, es mucho más fácil usar dos o más patrones de búsqueda simples que intentar crear una expresión regular compleja que haga exactamente lo que desea. (Pero cada uno de los patrones de búsqueda individuales puede ser tan complejo como desee).

Puede alternar entre partidos, o puede visitar cualquiera de ellos, en cualquier orden. Incluso puede reemplazar las coincidencias de forma selectiva, bajo demanda.

Vea la Descripción general de la búsqueda de carámbanos .

Dibujó
fuente