Мне нужен макрос 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')