Czy mogę wyszukiwać i zamieniać w makrze Notepad ++?

18

Próbuję utworzyć makro w Notepad ++, które pozwala mi wykonać kilka standardowych funkcji Wyszukaj i zamień. Mogę zmusić makro do zrobienia wszystkiego (dodawanie wierszy, dodawanie znaków) oprócz wyszukiwania i zamiany.

Nie mogę znaleźć plików do ręcznej edycji makra.

Czy komukolwiek udało się utworzyć makro w Notepad ++, które wykonuje wyszukiwanie i zamianę? W jaki sposób?

PS: Nie interesują mnie inne narzędzia, które mogą to zrobić - znam się na perlu, vi (m), UltraEdit, sed, awk - zastanawiałem się tylko, czy Notepad ++ mógłby to zrobić.

Konerak
źródło

Odpowiedzi:

13

Tak, możesz, właśnie próbowałem nagrać nowe makro, przeprowadziłem wyszukiwanie i zastąpiłem je i pomyślnie zapisałem akcję, więc kiedy odtworzyłem makro, wykonałem tę samą akcję wyszukiwania i zamiany.

Nie jestem ekspertem w Makrach Notepad ++, ale domyślam się, że tak ... Otworzyłem losowy plik i utworzyłem makro o nazwie test. Poszukał słowa „snip” i zastąpił je „blaa”.

Otwarcie shortcuts.xmlpliku po zamknięciu Notepad ++ ujawnia to nowe makro:

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

Jest to testowane i działa na moim komputerze, mogę ręcznie zmodyfikować ten plik, a zmiany zostaną odzwierciedlone i będą działać w Notepad ++.

Należy jednak pamiętać, że shortcuts.xmlplik (znajdujący się w folderze Appdata) jest ładowany i zapisywany tylko podczas otwierania / zamykania Notepad ++.

William Hilsum
źródło
Dzięki. Znalazłem plik, ale nagrywanie wciąż nie działało. Zredagowałem plik (nie z N ++ oczywiście) i wkleiłem twój wycięty fragment. N ++ rozpoznał makro, ale niczego nie zastąpił - myślę, że musi to być jakaś niespełniona zależność, która uniemożliwia mi nagrywanie / odtwarzanie.
Konerak,
1
Wszystko, co mam, to Notepad ++ bez specjalnych dodatków (instalowanych z Ninite) ... Upewnij się, że korzystasz z najnowszej wersji - ale jeśli nie możesz tego zrobić, może to oznaczać błąd w instalacji.
William Hilsum,
Byłem po funkcji „znajdź i zamień we wszystkich dokumentach” i byłem w stanie z powodzeniem utworzyć go z powyższym przykładowym kodem, z dwiema drobnymi zmianami: lParam„768” powyżej zmieniło się na „2”, a lParam„1608” na „1635”. W przeciwnym razie działało świetnie! (Notepad ++ 5.9.2)
Mike
Korzystam z wersji 7.6 i mogłem nagrać makro, aby wyszukać i zamienić. Wygenerował tę samą definicję w shortcuts.xml. Jednak makro działało dopiero po zamknięciu Notepad ++ i ponownym otwarciu programu. Szukałem, shortcuts.xmlaby zastąpić to, co zostało nagrane twoim przykładem, i odkryłem, że nic nowego nie zostało zapisane w pliku. Potem przypomniałem sobie twoją notatkę o ładowaniu i zapisywaniu skrótów tylko wtedy, gdy program się otwiera i zamyka. Dziękuję @WilliamHilsum za tę super pomocną wskazówkę. Mogłabym zrezygnować z tego wysiłku bez niego.
Adam Porad,
6

Wcześniej odkryłem, że to też nie działało dla mnie. Ale potem zaktualizowałem z Notepad ++ 5.6.x do 5.9.8, a teraz mogę dobrze rejestrować szukanie i zastępowanie. Bardzo dobrze!

Oczywiście ręczna edycja shortcuts.xmlpo nagraniu jednego jest nieunikniona, ponieważ nie ma edytora makr, a do bezbłędnego zarejestrowania ogromnego makra potrzebna jest koncentracja człowieka. (Przed edycją tego pliku upewnij się, że wszystkie instancje Notepad ++ są zamknięte).

Redsandro
źródło
1

Ja również nie znalazłem edytora makr (do manipulowania tekstem) w Notepad ++ (chociaż Notepad ++ zapewnia kilka wbudowanych funkcji). Ale teraz dostępna jest wtyczka do tworzenia makr w Notepad ++. Wtyczka ta nazywa się „ Python Script ” (z dobrą dokumentacją i przykładami), dzięki której możesz pisać dowolne makra, ponieważ dzięki tej wtyczce masz prawie pełną kontrolę nad edytorem i samym Notepad ++. Jeśli masz podstawową wiedzę na temat Pythona, możesz zacząć pisać makra za pomocą tej wtyczki (sama dokumentacja tej wtyczki obejmuje podstawową składnię Pythona dla początkujących).

Za pomocą tej wtyczki możesz wyszukiwać i zamieniać oraz wykonywać prawie dowolne operacje jako makra.

Oto link, aby uzyskać więcej informacji: http://npppythonscript.sourceforge.net/

Sandeep
źródło