Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to create a macro in Notepad++ that allows me to do a few standard Search & Replaces. I can get the macro to do everything (add lines, add characters) except search and replace.

I can't find the files to edit the macro manually.

Has anyone ever succeeded creating a Macro in Notepad++ that performs Search and Replace? How?

PS: I'm not interested in other tools that can perform this - I know my way around perl, vi(m), UltraEdit, sed, awk myself - I was just wondering if Notepad++ could do this.

share|improve this question
add comment

3 Answers 3

up vote 8 down vote accepted

Yes you can, I just tried to record a new macro, did a search and replace and it succesfully saved the action so when I played the macro, it did the same search and replace action.

I am not an expert at Notepad++ Macros, but I am guessing you are... I opened a random file and created a macro called test. It looked for a word called "snip" and replaced it with "blaa".

Opening up the shortcuts.xml file after closing Notepad++ reveals this new macro:

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

This is tested and works on my machine, I can manually modify this file and the changes get reflected and work in Notepad++.

Please note however, the Shortcuts.xml file (Located in your Appdata folder), only gets loaded and saved on opening/exiting Notepad++.

share|improve this answer
    
Thanks. I found the file, but recording still didn't work. I edited the file (not with N++ off course) and pasted your snipped. N++ recognized the macro but it didn't successfully replace anything - I guess it must be some unfulfilled dependency that prevents me from recording/playing. –  Konerak Dec 17 '10 at 10:43
1  
All I have is Notepad++ no special addons (Installed from Ninite)... Make sure you are using the latest version - but if you can't get this to work, something may be wrong with your installation. –  William Hilsum Dec 17 '10 at 10:56
    
I was after a "find and replace in all documents" function and was able to successfully produce it with the sample code above, with two minor changes: the lParam "768" above became "2" and the lParam "1608" became "1635". Otherwise, it worked great! (Notepad++ 5.9.2) –  Mike Feb 26 '13 at 0:00
add comment

I previously found that this didn't work for me either. But then I updated from Notepad++ 5.6.x to 5.9.8, and now I can record find-and-replacing just fine. Very nice!

Of course, manually editing shortcuts.xml after recording one is inevitable because there is no a macro editor, and you need super human concentration for recording a huge macro flawlessly. (Make sure all instances of Notepad++ are closed before editing that file.)

share|improve this answer
add comment

I too did not find any macro editor (for manipulating text) on Notepad++ (though Notepad++ provides few inbuilt functions). But now there is a plugin available for creating macros on Notepad++. This plugin is called 'Python Script' (with good documentation and samples) through which you can write any kind of macros since with this plugin, you almost have full control availble over editor and Notepad++ itself. If you have some basic knowledge on python you may start writing macros using this plugin (The documentation of this plugin itself covers some basic python syntax for beginners).

You can search & replace and perform almost any kind of operation as a macro using this plugin.

Here is the link for more information: http://npppythonscript.sourceforge.net/

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.