2011-03-30 30 views
24

¿Hay una manera de encontrar un párrafo, por ejemplo, quiero buscar este código:encuentran varias líneas en Notepad ++

<?php 
    $radio_buttons++; 
    } 
?> 

pero cuando intento copiar esto en el cuadro de búsqueda sólo copia la primera línea <? Php

parece que definitivamente hay una forma de hacer esto pero no lo encuentro tal vez sea un complemento?

+0

Estoy en una Mac ahora mismo, así que no puedo verificarlo, pero parece recordar que Notepad ++ le permite especificar expresiones regulares en el campo de búsqueda? –

+0

Sí, pero aún no puedo pegar más de una sola línea – Sackling

+1

Consulte este http://stackoverflow.com/questions/405002/missing-desired-features-in-notepad. Parece que Notepad ++ aún no es compatible con la búsqueda de varias líneas. Puede haber un complemento para él, pero ninguno de los que he oído hablar. –

Respuesta

50
+1

Esto es genial. Gracias. Todavía era un problema muchos meses después y esto funciona a la perfección. Si tuviera solo una pequeña idea, es que usar ctral + A para seleccionar todo, lo que hago para borrar una búsqueda anterior no parece funcionar. – Sackling

+1

Gracias por desarrollar esas herramientas muy útiles. Los he instalado en mi escritorio y en las versiones portátiles de Notepad ++. Los recomendaré a mis colegas. –

+0

+1 y ¡gracias! Me gusta que haya hecho el descubrimiento y el reemplazo similar a la GUI de Dreamweaver. Lo único que falta es la opción de guardar expresiones regulares. –

4

Que yo sepa Notepad ++ no es compatible con expresiones regulares multilínea, por lo que tendrá que hacer esto reemplazando cada salto de línea con los caracteres representativos de salto de línea para su sistema operativo (muy probablemente \r\n). Vea Find CRLF in Notepad++ para más detalles.

+0

El problema es que si pega el párrafo en el cuadro de búsqueda, todo lo que obtiene es '

+0

No realmente: puede usar la búsqueda ampliada para reemplazar todos los '\ r \ n's con algún carácter no utilizado (tilde, tubería, etc.), luego use la búsqueda no extendida para reemplazar ese carácter con' \ r \ n 'nuevamente (con' \ r \ n' no extendido no creará nuevas líneas). Voila - la cadena de búsqueda. Además, puede hacer una macro de esto con bastante facilidad. –

0

hay una solución:
Cambiar el modo de búsqueda de extendido y reemplazar "retorno de nueva línea" s con \r\n
por ejemplo <?php\r\n $radio_buttons++;\r\n }\r\n?>
problema es que necesita saber el espacio en blanco (no se muestra arriba).

¿Quizás una expresión regular podría funcionar?

3

me encontré con el siguiente hilo sobre un tema relacionado: Multiline Regular Expression search and replace!

recomendamos que pruebe CTRL + R!

+0

tratando de presionar CTRL + R, parece que no funciona. No estoy seguro de qué opciones ha seleccionado todavía. – Sackling

+0

Acabo de probarlo en mi máquina aquí (notepad ++ 5.8.6) y pude buscar un blog de texto de varias líneas. Tal vez ejecutando una versión anterior? – Xenovoyance

+0

sí, estaba en 5.8.6 y en realidad solo actualicé a .7, parece que funciona a veces ** como en un párrafo en un archivo txt, pero no parece gustarle cuando busca un bloque de código con espacios en blanco entre ellos. Tal vez es una opción que me estoy perdiendo. – Sackling

0

Consulte la opción del menú TextFX. Parece que admite la búsqueda de líneas múltiples.

22

Como Xenovoyance indica, es posible con CTRL + R (también se encuentra en la opción TextFX>TextFX rápida>buscar/reemplazar):

sólo tienes que seleccionar el texto a encontrar y luego invoque esa opción ... Multi line find/replace

ACTUALIZACIÓN: usuario Żabojad me he dado cuenta de que en las últimas versiones de Notepad ++, el plug-in "TextFX" no se instala por defecto, por lo que primero que tendrá que hacer una de dos cosas:

  1. El más fácil: Ir a opción del menú plugins>Administrador de complementos>Mostrar Administrador de complementos, desplazarse por la lista de plugins disponibles para "TextFX caracteres" e instalarlo. Install from Plugin Manager

  2. La forma anterior debería funcionar, pero de lo contrario tendrá ir a esta página: http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/ archivo y descarga TextFX.v0.26.unicode.bin.zip Download TextFX Characters luego extraer su contenido (no basta con copiar el archivo zip) a la subcarpeta \plugins de la carpeta de instalación Notepad ++ Copy dll to Notepad++ plugins folder

Después de reiniciar Notepad ++ verá la entrada del menú TextFX.

+3

Desafortunadamente, este complemento no parece ser compatible con la edición de múltiples documentos abiertos. –

2

Para una v5.8.7 Notepad ++ + no hay plug-in para Unicode TextFX instalado por defecto, por lo que con el fin de utilizar CTRL +R necesita instalar TextFX Charactersplugin con administrador de complementos.

8

Desde Notepad ++ 6.0 la búsqueda de expresiones regulares para múltiples líneas funciona.

La búsqueda de su código sería algo así como

<?php.*\r\n.*$radio_buttons++;.*\r\n.*}.*\r\n.*?> 

. * es sólo comodín para cualquier número de caracteres (excepto los saltos de línea). También puede alternar una casilla de verificación en el cuadro de diálogo Notepad ++ (llamado . Coincide con la nueva línea) para incluir saltos de línea.

Para una descripción detallada, véase la respuesta superior de esta pregunta: ¿

Find CRLF in Notepad++

+1

Esto podría funcionar para una cadena de 3 líneas, pero para más líneas, no hay alternativa ... – mozzbozz

3

Cntrl+C el texto anterior que desea encontrar y Cntrl+V en un nuevo documento en blanco en Notepad ++, a continuación, seleccione de nuevo y golpeó Cntrl+F. Verá su texto en el campo "buscar" con espacios con pestañas a medida que se rompe la línea. Sin necesidad de complementos

+0

Confirmado en Notepad ++ 6.6.9. Puede verificar la cadena de búsqueda real en las secciones '' dentro de '' en el archivo "config.xml" de Notepad ++. – AdrianHHH

Cuestiones relacionadas