Чи можу я шукати та замінювати макрос Notepad ++?


18

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

Не вдається знайти файли для редагування макросу вручну.

Хто-небудь встигав створити макрос в Notepad ++, який виконує пошук і заміну? Як?

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

Відповіді:


13

Так, ви можете, я просто спробував записати новий макрос, здійснив пошук і заміну, і він успішно врятував дію, тому коли я грав макрос, він робив те саме, що виконував пошук і заміну.

Я не фахівець з макросів Notepad ++, але я здогадуюсь, що ви ... Я відкрив випадковий файл і створив макрос під назвою тест. Він шукав слово під назвою "сніп" і замінив його "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) завантажується та зберігається лише під час відкриття / виходу із блокнота ++.


Спасибі. Я знайшов файл, але запис все ще не працював. Я відредагував файл (не з курсом 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 ++ закриті перед редагуванням цього файлу.)


1

Я також не знайшов жодного редактора макросів (для маніпулювання текстом) на Notepad ++ (хоча Notepad ++ забезпечує мало вбудованих функцій). Але тепер доступний плагін для створення макросів на Notepad ++. Цей плагін називається " скриптом Python " (з хорошою документацією та зразками), за допомогою якого ви можете писати будь-які макроси, оскільки за допомогою цього плагіна у вас майже повний контроль над редактором та самим Notepad ++. Якщо у вас є основні знання про python, ви можете почати писати макроси за допомогою цього плагіна (Документація цього плагіна охоплює деякі основні синтаксиси python для початківців).

Ви можете шукати та замінювати та виконувати майже будь-які операції як макрос за допомогою цього плагіна.

Ось посилання для отримання додаткової інформації: http://npppythonscript.sourceforge.net/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.