Можно ли выполнять поиск и замену в макросе Notepad++?

Можно ли выполнять поиск и замену в макросе Notepad++?

Я пытаюсь создать макрос в Notepad++, который позволяет мне делать несколько стандартных поисков и замен. Я могу заставить макрос делать все (добавлять строки, добавлять символы), кроме поиска и замены.

Я не могу найти файлы для ручного редактирования макроса.

Удалось ли кому-нибудь создать макрос в Notepad++, выполняющий поиск и замену?Как?

PS: Меня не интересуют другие инструменты, которые могут это сделать - я сам хорошо разбираюсь в perl, vi(m), UltraEdit, sed, awk - мне просто интересно, может ли Notepad++ сделать это.

решение1

Да, можно. Я только что попытался записать новый макрос, выполнил поиск и замену, и он успешно сохранил действие, поэтому при воспроизведении макроса он выполнил то же самое действие поиска и замены.

Я не эксперт по макросам Notepad++, но предполагаю, что вы... Я открыл случайный файл и создал макрос под названием test. Он искал слово под названием "snip" и заменял его на "blaa".

Открытие shortcuts.xmlфайла после закрытия Notepad++ обнаруживает этот новый макрос:

<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>

Это проверено и работает на моем компьютере, я могу вручную изменить этот файл, и изменения будут отражены и работать в Notepad++.

Однако обратите внимание, что shortcuts.xmlфайл (расположенный в папке Appdata) загружается и сохраняется только при открытии/выходе из Notepad++.

решение2

Я раньше обнаружил, что это тоже не работает для меня. Но потом я обновился с Notepad++ 5.6.x до 5.9.8, и теперь я могу записывать поиск и замену просто отлично. Очень здорово!

Конечно, ручное редактирование shortcuts.xmlпосле записи неизбежно, поскольку редактора макросов не существует, а для безупречной записи огромного макроса вам понадобится сверхчеловеческая концентрация. (Убедитесь, что все экземпляры Notepad++ закрыты перед редактированием этого файла.)

решение3

Я тоже не нашел ни одного редактора макросов (для работы с текстом) в Notepad++ (хотя Notepad++ предоставляет несколько встроенных функций). Но теперь есть плагин для создания макросов в Notepad++. Этот плагин называется 'Скрипт Python' (с хорошей документацией и примерами), с помощью которого вы можете писать любые виды макросов, поскольку с этим плагином у вас есть почти полный контроль над редактором и самим Notepad++. Если у вас есть некоторые базовые знания по Python, вы можете начать писать макросы, используя этот плагин (документация этого плагина сама по себе охватывает некоторые базовые элементы синтаксиса Python для начинающих).

Ты можешьпоиск и заменаи выполнять практически любые операции в виде макроса с помощью этого плагина.

Вот ссылка для более подробной информации: http://npppythonscript.sourceforge.net/

Связанный контент