2009-05-25 14 views

Respuesta

16

M-x occur?

De the manual:

M-x occur

Solicitar una expresión regular, y mostrar una lista que muestra cada línea en el búfer que contiene a la altura de ella. El texto que coincide se resalta con la cara match. Para limitar la búsqueda a una parte del búfer, acórtese a esa parte (consulte Reducción). Un argumento numérico n especifica que las líneas de contexto n deben mostrarse antes y después de cada línea coincidente. El número predeterminado de líneas de contexto está especificado por la variable list-matching-lines-default-context-lines.

En el búfer *Occur*, puede hacer clic en cada entrada, o mover el punto allí y escribir RET, para visitar a la posición correspondiente en el buffer que se buscó. o y C-o muestran la coincidencia en otra ventana; C-o no lo selecciona. Alternativamente, puede usar el comando C-x ` (next-error) para visitar las ocurrencias una a una (vea el Modo de compilación).

escribiendo e en el *Occur* búfer cambia al modo Ocurrir edición, en el que las ediciones realizadas en las entradas también se aplican al texto en el búfer de origen. Escriba C-c C-c para volver al modo Ocurrir.

El comando M-x list-matching-lines es un sinónimo de M-x occur.

+0

¡Gracias por tu respuesta! –

+0

no hay problema ... Soy un tipo vi que a veces tiene que usar emacs ... – LB40

4

Mi flujo de trabajo habitual no es obtener una lista y elija (no sé cómo hacerlo), sino usar la búsqueda incremental:

C-s <search target> 

obtiene el partido puño después de la coma. Si no te gusta, otro C-s obtiene el siguiente. Continúe hasta que esté satisfecho (necesitará un C-s adicional para envolver desde y hacia el búfer). Lo suficientemente nuevo como emacsen también puede resaltar todas las coincidencias que son visibles.

Como se señala en los comentarios de Török Gábor, esta es la combinación de teclas típica de isearch-forward. En el caso de que sus enlaces sean diferentes, debe modificar el procedimiento prescrito.

+3

'isearch-forward' (es decir,' Cs') también te permite escribir 'Co' después de la frase de búsqueda dada, y luego ejecuta 'ocurrir' lo que LB sugirió. De esta forma puedes usar su poder de una vez. –

+0

Gracias, Török. Una cosa más que no sabía sobre emacs. – dmckee

+0

Esto no parece funcionar para mí - 'C-o' está obligado a' open-line'. –

5

Además de M-x occurr compruebe también M-x grep. Esto funciona en varios archivos a la vez.

+3

'rgrep' es aún mejor, ya que permite la búsqueda recursiva. –

Cuestiones relacionadas