¿Puedo buscar y reemplazar en una macro Notepad ++?


18

Estoy tratando de crear una macro en Notepad ++ que me permita hacer algunas búsquedas y reemplazos estándar. Puedo hacer que la macro haga todo (agregar líneas, agregar caracteres) excepto buscar y reemplazar.

No puedo encontrar los archivos para editar la macro manualmente.

¿Alguien ha tenido éxito al crear una Macro en Notepad ++ que realiza Buscar y reemplazar? ¿Cómo?

PD: No estoy interesado en otras herramientas que puedan realizar esto: conozco perl, vi (m), UltraEdit, sed, awk yo mismo. Me preguntaba si Notepad ++ podría hacer esto.

Respuestas:


13

Sí, puede, solo intenté grabar una nueva macro, hice una búsqueda y reemplazo y guardó con éxito la acción, así que cuando jugué la macro, hizo la misma acción de buscar y reemplazar.

No soy un experto en Notepad ++ Macros, pero supongo que sí ... Abrí un archivo aleatorio y creé una macro llamada prueba. Buscó una palabra llamada "recorte" y la reemplazó por "blaa".

Abrir el shortcuts.xmlarchivo después de cerrar Notepad ++ revela esta nueva macro:

<Macro name="test" Ctrl="no" Alt="no" Shift="no" Key="0">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="snip" />
    <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="blaa" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1608" sParam="" />
</Macro>

Esto se prueba y funciona en mi máquina, puedo modificar manualmente este archivo y los cambios se reflejan y funcionan en Notepad ++.

Sin embargo, tenga en cuenta que el shortcuts.xmlarchivo (ubicado en su carpeta Appdata) solo se carga y guarda al abrir / salir de Notepad ++.


Gracias. Encontré el archivo, pero la grabación aún no funcionaba. Edité el archivo (no con N ++ por supuesto) y pegué tu recortado. N ++ reconoció la macro pero no reemplazó con éxito nada. Supongo que debe ser una dependencia no satisfecha que me impide grabar / reproducir.
— Konerak

1
Todo lo que tengo es Notepad ++ sin complementos especiales (instalado desde Ninite) ... Asegúrese de estar utilizando la última versión, pero si no puede hacer que esto funcione, puede que algo esté mal con su instalación.
— William Hilsum

Estaba buscando una función de "buscar y reemplazar en todos los documentos" y pude producirlo con éxito con el código de muestra anterior, con dos cambios menores: el lParam"768" anterior se convirtió en "2" y el lParam"1608" se convirtió en "1635". De lo contrario, funcionó muy bien! (Bloc de notas ++ 5.9.2)
— Mike

Estoy usando v7.6 y pude grabar una macro para buscar y reemplazar. Se generó la misma definición en shortcuts.xml. Sin embargo, la macro no funcionó hasta que cerré Notepad ++ y volví a abrir el programa. Busqué shortcuts.xmlreemplazar lo que estaba grabado con su ejemplo, y descubrí que no se había escrito nada nuevo en el archivo. Entonces recordé tu nota sobre los accesos directos que solo se cargan y guardan solo cuando el programa se abre y se cierra. Así que gracias @WilliamHilsum por ese consejo súper útil. Podría haber abandonado el esfuerzo sin él.
— Adam Porad

6

Anteriormente descubrí que esto tampoco funcionó para mí. Pero luego actualicé desde Notepad ++ 5.6.x a 5.9.8, y ahora puedo grabar encontrar y reemplazar muy bien. ¡Muy agradable!

Por supuesto, editar manualmente shortcuts.xmldespués de grabar uno es inevitable porque no hay un editor de macros, y se necesita una concentración súper humana para grabar una macro enorme sin problemas. (Asegúrese de que todas las instancias de Notepad ++ estén cerradas antes de editar ese archivo).


1

Tampoco encontré ningún editor de macros (para manipular texto) en Notepad ++ (aunque Notepad ++ proporciona pocas funciones incorporadas). Pero ahora hay un complemento disponible para crear macros en Notepad ++. Este complemento se llama ' Python Script ' (con buena documentación y muestras) a través del cual puede escribir cualquier tipo de macros, ya que con este complemento, casi tiene control total disponible sobre el editor y el Bloc de notas ++. Si tiene algún conocimiento básico sobre python, puede comenzar a escribir macros usando este complemento (la documentación de este complemento cubre alguna sintaxis básica de python para principiantes).

Puede buscar y reemplazar y realizar casi cualquier tipo de operación como macro usando este complemento.

Aquí está el enlace para obtener más información: http://npppythonscript.sourceforge.net/

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.