Могу ли я найти и заменить макрос Notepad ++?

18

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

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

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

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

Konerak
источник

Ответы:

13

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

Я не являюсь экспертом в Notepad ++ Macros, но я предполагаю, что вы ... Я открыл случайный файл и создал макрос с именем test. Он искал слово под названием «отрывок» и заменил его на «бла».

Открытие 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 ++.

Уильям Хилсум
источник
Благодарю. Я нашел файл, но запись все еще не работала. Я отредактировал файл (не с N ++, конечно) и вставил ваш вырезанный файл. N ++ распознал макрос, но он ничего не заменил - я думаю, что это должна быть какая-то невыполненная зависимость, которая мешает мне записать / воспроизвести.
Конерак
1
Все, что у меня есть, это Notepad ++ без специальных надстроек (Установлено с Ninite) ... Убедитесь, что вы используете последнюю версию - но если вы не можете заставить это работать, что-то может быть не так с вашей установкой.
Уильям Хилсум
Я выполнял функцию «найти и заменить во всех документах» и смог успешно создать ее с помощью приведенного выше примера кода с двумя незначительными изменениями: lParam«768» выше стал «2», а lParam«1608» стал «1635». В противном случае, он работал отлично! (Блокнот ++ 5.9.2)
Майк
Я использую v7.6, и я смог записать макрос для поиска и замены. Это породило такое же определение в shortcuts.xml. Однако макрос не работал, пока я не закрыл Notepad ++ и снова не открыл программу. Я посмотрел, shortcuts.xmlчтобы заменить то, что было записано вашим примером, и обнаружил, что ничего нового не было записано в файл. Тогда я вспомнил вашу заметку о том, что ярлыки загружаются и сохраняются только тогда, когда программа открывается и закрывается. Так что спасибо @WilliamHilsum за этот супер полезный совет. Я мог бы отказаться от усилий без этого.
Адам Порад
6

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

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

Redsandro
источник
1

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

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

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

Sandeep
источник