Notepad++: Создание макроса, заменяющего выделенный текст

Notepad++: Создание макроса, заменяющего выделенный текст

Мне нужен макрос Notepad++, который будет выполнятьпоиск и замена, но для той части текста, которая выделена в момент запуска макроса.

Я пробовал записать макрос, но он записывает только часть текста, которую я выделил в момент записи макроса. Это не то, что мне нужно. Мне нужно применитьпоиск и заменадля другого текста каждый раз, когда я запускаю макрос.

После записи макроса AppData\Notepad++\shortcuts.xmlпоявляется вот такая штука:

<Macro name="SaR_macro" Ctrl="yes" Alt="no" Shift="yes" Key="89">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="some text" />
    <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

Может быть, есть способ вставить что-то вроде "текущее выделение" вместо some textв вышеприведенном? Так мне следует это сделать?

РЕДАКТИРОВАТЬ:

Точнее, чего я пытаюсь добиться. Допустим, у меня есть txt-файл, который выглядит так:

text text text text text - qwerty
text text text text - asdf
text text text text text text - zxc

И ситуация, которую я хочу достичь, такова: я выбираю - qwerty, затем нажимаю горячую клавишу макроса и в результате я меняю - qwertyна что-то другое. Затем я выбираю - asdf, затем нажимаю горячую клавишу макроса и в результате я меняю - asdfна то же самое, что и раньше. Затем то же самое происходит с - zxc.

решение1

Боюсь, это невозможно сделать с помощью одной горячей клавиши.

Тем не менее, есть альтернатива:

Вы можете запустить скрипт Python в плагине PythonScript.

Если он еще не установлен, следуйте этомугид

  • Создать скрипт (Плагины >> PythonScript >> Новый скрипт)
  • Скопируйте этот код и сохраните файл (например, replace_highlight.py):

editor.replaceSel('new text')

  • Перейти к Плагины >> PythonScript >> Конфигурация
  • Выберите скрипт replace_highlight.py
  • Сохранять
  • Перезапустите Notepad++ (на панели инструментов появится значок PythonScript)
  • Откройте файл, который вы хотите изменить.
  • Выделите текст, который вы хотите заменить.
  • Нажмите на ранее созданный значок.
  • Сделанный

Если вы хотите заменитьвсе случаивыделенного текста используйте следующий код:

editor.replace(editor.getSelText(), 'NEW TEXT')

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