<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Help wanted  · · · – – – · · ·]]></title><description><![CDATA[Got a question? Ask away!]]></description><link>https://community.notepad-plus-plus.org/category/4</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 09:48:22 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/category/4.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Sep 2026 18:49:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[How to find posts in my HUGE Master file..]]></title><description><![CDATA[@Allinmyhead ,
Notepad++ has no notion of “post”.  It just sees a big blob of text, and tries to apply the search string you give it.  If you search for just your username, that’s the only piece that will match.  If you use a more complicated regular expression (“regex”), you can define a fancy search that will match more.
If you gave more details about what a “post” is formatted in text, we could help you come up with the right regex.  For example, if the post is username: blah blah blah [newline][newline], then something like ^username: .*?\R\R would find everything from username: to the two newlines in a row.
But Notepad++ is not just going to “hide” everything else, and allow you to look at just that.  As you do each Find Next, it will just highlight the entire match.  It might be possible, if you gave us examples of what this file would look like, to be able to strip out “posts” that aren’t yours, instead.  (Similar to the above, but matching anything but your username at the start of the post).  But until you give us example data that matches your formatting, and show which posts you’d like to keep and which to delete, there is no way we could randomly come up with the right regex to help you.
Click the &lt;/&gt; button in your reply.  Put some data in the code-box that creates.  Make sure the data matches your actual data, and is formatted exactly the same.  Indicate which “posts” you’d like to keep vs delete.  Make sure you give us a description of how you, as a human, would recognize where one post starts and ends.

Update: it might actually be easier to use the Mark dialog to mark all the username posts, rather than the find/replace to delete the non-username posts.  That would allow “copy marked lines”, and then the username-only ones could be pasted in a new file, rather than deleting the non-username posts from the original.  But it depends on the shape of the data, and whether you’d prefer to just delete from your old file or create a new one…
]]></description><link>https://community.notepad-plus-plus.org/topic/27657/how-to-find-posts-in-my-huge-master-file..</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27657/how-to-find-posts-in-my-huge-master-file..</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Mon, 14 Sep 2026 18:49:10 GMT</pubDate></item><item><title><![CDATA[Why headings are not displayed in the function list menu ?]]></title><description><![CDATA[@PeterJones
Thank YOU so much
I copy Your overrideMap &amp; udl_markdown in my folder and problem is solved.
I wish program by default have this option.
Thank you again dear Peter
]]></description><link>https://community.notepad-plus-plus.org/topic/27654/why-headings-are-not-displayed-in-the-function-list-menu</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27654/why-headings-are-not-displayed-in-the-function-list-menu</guid><dc:creator><![CDATA[behrouz1]]></dc:creator><pubDate>Wed, 09 Sep 2026 13:23:14 GMT</pubDate></item><item><title><![CDATA[is there a way to save a file as .srt?]]></title><description><![CDATA[
@Midnitecata said:
@PeterJones
thank you for your help, ill probably steer clear of it just out of caution, but i might look into it further should the tedious formatting inconvenience me enough to learn how to spot malicious code! thanks again!! :)

Just a side note to this discussion:
While you certainly can manipulate *.srt files in Notepad++ (and I do on occasion), for most purposes the free and open source program Subtitle Edit (found here on GitHub) is much easier to use. It has many functions for doing things like shifting times, identifying likely errors, and so on. Before working too hard to find a way to do something with a subtitle file in Notepad++, I recommend checking first to see if Subtitle Edit already knows how to do it.
]]></description><link>https://community.notepad-plus-plus.org/topic/27650/is-there-a-way-to-save-a-file-as-.srt</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27650/is-there-a-way-to-save-a-file-as-.srt</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sun, 06 Sep 2026 19:14:18 GMT</pubDate></item><item><title><![CDATA[Code is not working]]></title><description><![CDATA[Hello, @blake-g.-barrington, @peterjones, @coises and All,
Here is my version to get duplicate lines, separated by any number of lines ( whatever they are : true empty lines, blank lines or lines with text ), even zero line :
MARK (?-si)^(.+)(?=(.*\R)+\1$)
As said by @Peterjones, and after some tests, this kind of regex get into trouble when the bunch of lines, between two duplicate lines, exceeds 15,000 empty lines about !

Now, Let’s suppose you create this text file :
first
0002
0003
0004
0005
....
....
....
9997
9998
9999
10000
first

Then the (?-si)^(.+)(?=(.*\R)+\1$) regex returns :


Correct result until the number of the in-between lines does not exceed 1,600, with the message 1 match in entire file


Correct result until the number of the in-between lines does not exceed 12,000, although the error message Find Invalid Regular Expression ( So F.I.R.E. !! ) occurs !


NO result at all if the number of lines is over 12,000 lines, with, of course, the error message Find Invalid Regular Expression


Best Regards,
guy038
P.S. :
I should add that my Windows11 laptop has 32 Gb of memory !
]]></description><link>https://community.notepad-plus-plus.org/topic/27649/code-is-not-working</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27649/code-is-not-working</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Sat, 05 Sep 2026 22:29:07 GMT</pubDate></item><item><title><![CDATA[ASCII Sort Order]]></title><description><![CDATA[@PeterJones, Thank you for your considered (and considerate) engagement. I actually hesitated to respond with my comment about the 70s and 80s, pretty sure I would get what you gave, but I couldn’t resist—I’m old (83 next month).
Anyway, thanks again for putting up with me.     …lee
]]></description><link>https://community.notepad-plus-plus.org/topic/27648/ascii-sort-order</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27648/ascii-sort-order</guid><dc:creator><![CDATA[leestwise]]></dc:creator><pubDate>Thu, 03 Sep 2026 12:45:49 GMT</pubDate></item><item><title><![CDATA[Add Increment Number (part 2)]]></title><description><![CDATA[
@PeterJones said:

PeterJones said:
I assume the Search++ syntax would be the same

Per the Search++ announcement, it can do the numeric calculations that were first developed for Columns++.
I should update the FAQ soon…

I recommend waiting on that update. Search++ is not “production ready” yet. People shouldn’t be using it at present unless they want to be beta testers. Once I reach a 1.0 release I’ll make a serious effort to avoid changing things that people would expect to stay the same, but right now, anything could be changed at any time.
Numeric expressions in Search++ do not have quite all the features of numeric expressions in Columns++; in particular, the history options (using the values captured or computed in a previous match) aren’t supported in Search++, and the exprtk return statement isn’t supported.
However, I think all the features directly cited in the Math FAQ are included. The reg(1) syntax still works, but in Search++ you can use $1 as well. However, a quirk is that since Search++ doesn’t have the persistent Decimal separator is comma option of Columns++, it’s necessary to use regc(1) or $$1 for European-style numbers with periods and/or commas.
Finally, Columns++ can only work on the active document. Search++ has a Find in Files option, but Replace in Files has not yet been implemented. So if your guess was correct and @neculai-i.-fantanaru wants a regular expression because it must be applied to many files at once, @thomas-knoefel’s MultiReplace is the best choice among presently-existing options.
Oh, and MultiReplace has recently added an option to use exprtk formulas as an alternative to its Lua syntax.
]]></description><link>https://community.notepad-plus-plus.org/topic/27645/add-increment-number-part-2</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27645/add-increment-number-part-2</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Sun, 30 Aug 2026 15:34:11 GMT</pubDate></item><item><title><![CDATA[UDL: set multicharacters delimitators/keywords that also accept escaping characters to neglet]]></title><description><![CDATA[@Jacopo-Remondina ,
I am still not sure what you want for FOLDING and what you want for KEYWORD and what you want for DELIMITER and what you don’t want detected at all.
But at this point, I’m guessing that what you want is too complicated for the simplistic keyword/token matching used for UDL.  For FOLDING, it’s designed to either match spaces-not-needed so the open/mid/closing all don’t require spaces, or to match spaces-required so the open/mid/closing all do require spaces; it is not meant to mix, so that the open doesn’t require spaces but the close does.
The easiest workaround is what you already know: enumerate them all.  I don’t think you’re going to find a better solution.
]]></description><link>https://community.notepad-plus-plus.org/topic/27642/udl-set-multicharacters-delimitators-keywords-that-also-accept-escaping-characters-to-neglet</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27642/udl-set-multicharacters-delimitators-keywords-that-also-accept-escaping-characters-to-neglet</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Tue, 25 Aug 2026 12:29:39 GMT</pubDate></item><item><title><![CDATA[Search & Replace syntax]]></title><description><![CDATA[
@KRadiants said:
1: False on both counts. Here is an example line
                    &lt;attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,2,0,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,4,0,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/&gt;

There is a blank before, and sometimes there is something before and/or after it
Otherwise, this is correct.

OK, so in this example you want to end up with:
                     &lt;attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/&gt;

?
If that’s correct, try the same expression I suggested before, except remove the ^ from the front:
Find what: (SelectSpells\([\d\-abcdef]+),\d+,\d+
Replace with: $1
]]></description><link>https://community.notepad-plus-plus.org/topic/27641/search-replace-syntax</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27641/search-replace-syntax</guid><dc:creator><![CDATA[Coises]]></dc:creator><pubDate>Mon, 24 Aug 2026 16:37:52 GMT</pubDate></item><item><title><![CDATA[REGEX: Change the name in reverse order]]></title><description><![CDATA[@guy038 I can creat a Python script :)
but the beauty and art was finding a solution just with regex.
]]></description><link>https://community.notepad-plus-plus.org/topic/27640/regex-change-the-name-in-reverse-order</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27640/regex-change-the-name-in-reverse-order</guid><dc:creator><![CDATA[Neculai I. Fantanaru]]></dc:creator><pubDate>Mon, 24 Aug 2026 07:15:45 GMT</pubDate></item><item><title><![CDATA[User defined language seems to support only one extension]]></title><description><![CDATA[
@André-Programmeren said:
As far as I remember I stopped and re-started Notepad++

Notepad++ saved it’s current language for that file (plain text) in the session config, then used that saved session config when you restarted.  (This is a critical feature when one extension can have multiple meanings, and you have overridden the default language for a particular file)
OTOH, if you close the file, Notepad++ discards meta-information, like what language was previously served, and so re-applies its internal rules and will see the UDL extension when you re-open the file.
]]></description><link>https://community.notepad-plus-plus.org/topic/27638/user-defined-language-seems-to-support-only-one-extension</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27638/user-defined-language-seems-to-support-only-one-extension</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Thu, 20 Aug 2026 19:28:56 GMT</pubDate></item><item><title><![CDATA[Trying to drag tab to new instance with unsaved changes]]></title><description><![CDATA[
@LiivaneLord said:
I have noticed that I can now take tab and drag it outside window to make new instance of notepad++. Thank you.

That’s not a new feature in v8.9.7.  It’s been there a long time (as long as I can remember *).

There is only 2 bugs - I cant drag modified file and I cant drag new file from scratch.

That’s inherent to the design (and nothing new, so not a regression, and thus shouldn’t be in the Release Announcement anyway)
To drag a file to a new instance, there needs to be an underlying file on the filesystem, with all the bytes that you want to open in the new instance, because what Notepad++ does is it launches a new instance of the executable, then uses the internal “file &gt; open” command to read the original file off the disk, then closes the old copy from the old instance of Notepad++.
If there wasn’t a file on the disk, there would be nothing for the new instance to read; and if there are unsaved changes, then those changes would not be saved to the disk yet, so the new instance couldn’t read those.  To protect you from losing all the unsaved text that you’ve already typed, Notepad++ doesn’t activate the “move to new instance” feature when you try to do it with unsaved changes (whether in a new # document, or in an existing file with unsaved edits).  The behavior you described is thus “working as designed” to keep you from unexpectedly losing your data, and thus not a bug (and definitely not a regression).

*: update: yes, I tried back to v8.0 in 2021 and even v7.0 from 2016, and I could drag a tab from the tabbar to a new instance, even from the 2016 version of the application.  Having proven it worked that way a decade ago, I can confidently say that this is definitely not a new feature.

since this is not a new feature, and the problems you are describing are neither a problem with a new feature nor a regression in an existing feature, and they don’t belong in the “Notepad++ release 8.9.7” announcement, this question and reply have been forked to a separate “help wanted” topic.
]]></description><link>https://community.notepad-plus-plus.org/topic/27637/trying-to-drag-tab-to-new-instance-with-unsaved-changes</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27637/trying-to-drag-tab-to-new-instance-with-unsaved-changes</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Wed, 19 Aug 2026 18:49:12 GMT</pubDate></item><item><title><![CDATA[How to multiline regex find + replace a block of code that varies across multiple files]]></title><description><![CDATA[@Coises
Thankyou so much, I had two question marks near the end of the code block I was replacing with that I hadn’t escaped, so the code got cut off there.
I’d blindly assumed NPP’s find and replace didn’t care about escaping because the code is full of all manner of forwardslashes, colons,  and angle brackets and they posed no issue.
]]></description><link>https://community.notepad-plus-plus.org/topic/27636/how-to-multiline-regex-find-replace-a-block-of-code-that-varies-across-multiple-files</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27636/how-to-multiline-regex-find-replace-a-block-of-code-that-varies-across-multiple-files</guid><dc:creator><![CDATA[MayTheCatgirl]]></dc:creator><pubDate>Wed, 19 Aug 2026 10:55:52 GMT</pubDate></item><item><title><![CDATA[Remove lines starting by...]]></title><description><![CDATA[@Passant-Delarue ,
Initial guess: turn off “. matches newline”, otherwise your .* will greedily match the whole file.
]]></description><link>https://community.notepad-plus-plus.org/topic/27628/remove-lines-starting-by...</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27628/remove-lines-starting-by...</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Wed, 12 Aug 2026 10:21:28 GMT</pubDate></item><item><title><![CDATA[Folder as Workspace not listing full content of folder (v8.9.7)]]></title><description><![CDATA[@PeterJones Okay, yes, there are several subdir in that folder that are links (issue #18248). Actually, the first subdir is a plain one and is displayed whereas the second one is a link and is not displayed while preventing the display of the remaining data.
I’ll give the RC a try. Thanks again.
]]></description><link>https://community.notepad-plus-plus.org/topic/27625/folder-as-workspace-not-listing-full-content-of-folder-v8.9.7</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27625/folder-as-workspace-not-listing-full-content-of-folder-v8.9.7</guid><dc:creator><![CDATA[gfclemencin]]></dc:creator><pubDate>Fri, 07 Aug 2026 22:00:11 GMT</pubDate></item><item><title><![CDATA[(\W)'(\w) Regex replace failure]]></title><description><![CDATA[
@Coises said:
Notepad++ won’t let the selection that results from a search split a CRLF line ending. As you can see, it moves the start of the selection from the actual location of the match to after the line ending.

I noticed that in a Lua script recently that the Scintilla positionAfter function treats CRLF as a single UTF-8 character. So the CRLF has become what some may call an unbreakable sequence in some situations.
]]></description><link>https://community.notepad-plus-plus.org/topic/27621/w-w-regex-replace-failure</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27621/w-w-regex-replace-failure</guid><dc:creator><![CDATA[mpheath]]></dc:creator><pubDate>Wed, 05 Aug 2026 17:24:40 GMT</pubDate></item><item><title><![CDATA[Updated NP++ and now lost my previous notes]]></title><description><![CDATA[
@ILoveSkilledCoders said:
Unfortunately I don’t understand some of what you said.

I am sorry.  I thought that explaining to go someplace in Windows explorer and rename files would be easy enough to understand.  I cannot make it easier to understand than that.

I’m trying to find someone to help explain it to me. &amp;

I don’t know what you didn’t understand, so I cannot explain more.

to edit those files b/c I don’t want to screw things up &amp; make it worse.

I didn’t say to edit any files. I said to rename/copy files.

I have no idea if I was in admin mode when I updated.

That’s unfortunate.

… someone told me you came out with the numbers that tell us how many search results there are, … &amp; then which number result we are on after we press “enter.” I need that so I got excited &amp; updated. Unfortunately it’s not in the Ctrl F search window as I found out.

That’s with Search &gt; Inremental Search which brings up the Incremental Search Bar at the bottom of the screen.  That’s a simplified version of the search which has always been there, but recently the “live count” was added to the Incremental Search

I think I learned years ago that you have to click on Ctrl S at least once to save each file,

Each time you hit Ctrl+S on a file, it saves it.  That’s the only time that Notepad++ saves it to the given directory.  If you only hit Ctrl+S on each file once, then it only saved it once in that directory.
The “session snapshot and periodic backup” feature of Notepad++ does not save the file to the normal location.  It saves it to the backup directory which I referenced before.
In the future: If you want to automatically save your updated/edited files without hitting Ctrl+S or File &gt; Save or the Save or Save All button on the toolbar, you would need to install and configure the AutoSave plugin, as described in the FAQ I linked you to.  If you don’t want to install and configure that plugin, then you will have to learn to Save your files on your own.

but I had them all saved at one point, otherwise they wouldn’t have been in that Notepad++ folder, so I have no idea what happened.

You saved them once, and only once.  Never again.  That’s what happened.

On another note, off &amp; on since the update, I keep getting this error, &amp; then there’s another question after this one which I forgot to take a SS of.
https://nimb.ws/i9V1zXa

Just paste the image into your post: you don’t need to upload it to a service.

[image: 1785784094594-115d78d2-de07-43ff-a056-e06450858f4d-image.jpeg]

That means some other program had updated Links.txt since the time you opened it in Notepad++.  Your choices are to say “YES”, which will read the copy from disk, and get rid of all your edits, or to say “NO” and overwrite whatever is on disk with what’s currently visible in Notepad++.  Which choice is right depends on your computer, and we cannot tell you which is right for you to choose.

Also, when I click on Ctrl. F, most of the time it doesn’t highlight &amp; place my cursor in the text field so I can type a new keyword. I had no problems with the other one.

That’s controlled on Settings &gt; Preferences &gt; Searching, with the Fill Find Field with Selected Text checkbox and the Max Characters to Auto-Fill... number field.

Going back to your original problem: you have probably opened and closed Notepad++ too many times for my file-rename procedure to be of any help.  So ignore that part for now.
Instead, you will need to open your Windows Explorer (WinKey + E – I believe that worked even back in Win7 days), and then paste %AppData%\Notepad++\backup into the Location Bar of the Explorer window.  If your Win7 doesn’t show the explorer bar, then you will have to manually go to C:\users\&lt;user name&gt;\AppData\Roaming\Notepad++\backup\ in Windows Explorer.
In that directory, there may or may not be a bunch of files with names similar to filename.ext@yyyy-mm-dd_hhmmss, where filename.ext is the name of the real file, and the yyyy-mm-dd_hhmmss is a timestamp that Notepad++ used.
If you have a bunch of those, you can copy those to some safe, temporary directory, and then open all those copies in Notepad++.  Look through them,  If any of them have the data you want for your real files, then save them to the correct filename in D:\Notes\Notepad++.  Close any of them you don’t want.  Leave the ones open that you saved to D:\Notes\Notepad++.
In the future, either use Ctrl+S (or the menu or toolbar equivalent) to save the file when you’ve made an important change, or set up the AutoSave plugin to save your files for you.
If you have difficulty setting up AutoSave after reading the FAQ, please let us know which step of the FAQ you are on and having difficulty with.  But I’m not going to type step-by-step instructions for you here, because those instructions are already in the FAQ, and it would be a waste of everyone’s time for it to be typed again here.
]]></description><link>https://community.notepad-plus-plus.org/topic/27619/updated-np-and-now-lost-my-previous-notes</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27619/updated-np-and-now-lost-my-previous-notes</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Sat, 01 Aug 2026 21:26:34 GMT</pubDate></item><item><title><![CDATA[Editing lines from vertical to horizontal format]]></title><description><![CDATA[@goma-2000 ,
Your most recent post just quoted previous, not saying anything new.  Were you meaning to say something?
]]></description><link>https://community.notepad-plus-plus.org/topic/27618/editing-lines-from-vertical-to-horizontal-format</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27618/editing-lines-from-vertical-to-horizontal-format</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Sat, 01 Aug 2026 12:36:30 GMT</pubDate></item><item><title><![CDATA[Is there a way to find both alphabets, with and without accents, at the same time, when searching?]]></title><description><![CDATA[Hello, @troglo37, @coises, @peterjones, @dr-ramaanand and All,
Préamble :
@troglo37, on demand of @dr-ramaanand, I changed your initial title :
Is There A Way To Ignore Letters With Accents When Searching?

by this new title, which seems more acurrate :
Is there a way to find both alphabets, with and without accents, at the same time, when searching?


Thank you, @dr-ramaanand, for reminding me of this interesting post, which uses a more general, but more accurate, definition of accented characters !
Indeed, an accented character , let’s say the é character, may be described as :


The character é LATIN SMALL LETTER E WITH ACUTE, of Unicode value 00E9


The character e LATIN SMALL LETTER E, of Unicode value 0065, followed with the character  ́   COMBINING ACUTE ACCENT, of Unicode value 0301


Note that, in this second form, the letter e is the main character of an \X sequence and the accent(s), coming next, are the subsequent chars of this \X sequence !

So, the macro, described in my previous post, should be changed as :
        &lt;Macro name="Global Search" Ctrl="no" Alt="no" Shift="no" Key="0"&gt;
            &lt;Action type="3" message="1700" wParam="0" lParam="0" sParam="" /&gt;
            &lt;Action type="3" message="1601" wParam="0" lParam="0" sParam="(?=\X)(.)|(?!\X)." /&gt;
            &lt;Action type="3" message="1625" wParam="0" lParam="2" sParam="" /&gt;
            &lt;Action type="3" message="1602" wParam="0" lParam="0" sParam="(?1\(\?=[[=$1=]]\)\\X)" /&gt;
            &lt;Action type="3" message="1702" wParam="0" lParam="640" sParam="" /&gt;
            &lt;Action type="3" message="1701" wParam="0" lParam="1609" sParam="" /&gt;
        &lt;/Macro&gt;

And it means that :


If the current character found is a single character OR the main character of a current \X sequence, it must be replaced with the string (?=[[=$1=]])\X, where $1 represents the current char


If the current character found is an subsequent character of the current \X sequence, thus an accent, it must just be deleted as its main character has been previously taken in account



So, let’s consider the following French text, pasted in a new tab :
C'est là, près de la forêt, dans un gîte, où régnait un grand capharnaüm, que l'aïeul ôta sa flûte et son bâton de son canoë
C'est là, près de la forêt, dans un gîte, où régnait un grand capharnaüm, que l'aïeul ôta sa flûte et son bâton de son canoë

Note that, within the first line, the accented characters are single chars whereas, within the second line, the accentued chars are unaccented vowels followed with an accent character
If we apply our modified Global Search macro against a copy of the first line of this new tab, we get this regex :
(?=[[=C=]])\X(?=[[='=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=à=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=p=]])\X(?=[[=r=]])\X(?=[[=è=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=o=]])\X(?=[[=r=]])\X(?=[[=ê=]])\X(?=[[=t=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=î=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=ù=]])\X(?=[[= =]])\X(?=[[=r=]])\X(?=[[=é=]])\X(?=[[=g=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=r=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=d=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=p=]])\X(?=[[=h=]])\X(?=[[=a=]])\X(?=[[=r=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=ü=]])\X(?=[[=m=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=q=]])\X(?=[[=u=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[='=]])\X(?=[[=a=]])\X(?=[[=ï=]])\X(?=[[=e=]])\X(?=[[=u=]])\X(?=[[=l=]])\X(?=[[= =]])\X(?=[[=ô=]])\X(?=[[=t=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=l=]])\X(?=[[=û=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=b=]])\X(?=[[=â=]])\X(?=[[=t=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=o=]])\X(?=[[=ë=]])\X

Which does match the two lines of the new tab !
And if we apply our Global Search macro against a copy of the second line of this new tab, we get this regex :
(?=[[=C=]])\X(?=[[='=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=p=]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=o=]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=s=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=ù=]])\X(?=[[= =]])\X(?=[[=r=]])\X(?=[[=e=]])\X(?=[[=g=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=u=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=g=]])\X(?=[[=r=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=d=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=p=]])\X(?=[[=h=]])\X(?=[[=a=]])\X(?=[[=r=]])\X(?=[[=n=]])\X(?=[[=a=]])\X(?=[[=u=]])\X(?=[[=m=]])\X(?=[[=,=]])\X(?=[[= =]])\X(?=[[=q=]])\X(?=[[=u=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=l=]])\X(?=[[='=]])\X(?=[[=a=]])\X(?=[[=i=]])\X(?=[[=e=]])\X(?=[[=u=]])\X(?=[[=l=]])\X(?=[[= =]])\X(?=[[=o=]])\X(?=[[=t=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=a=]])\X(?=[[= =]])\X(?=[[=f=]])\X(?=[[=l=]])\X(?=[[=u=]])\X(?=[[=t=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=e=]])\X(?=[[=t=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=b=]])\X(?=[[=a=]])\X(?=[[=t=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=d=]])\X(?=[[=e=]])\X(?=[[= =]])\X(?=[[=s=]])\X(?=[[=o=]])\X(?=[[=n=]])\X(?=[[= =]])\X(?=[[=c=]])\X(?=[[=a=]])\X(?=[[=n=]])\X(?=[[=o=]])\X(?=[[=e=]])\X

Which does match, also, the two lines of the new tab !

In conclusion, this method allows you to search for a stream selection of characters, regardless of the syntax of the accented characters within that selection !
Best Regards,
guy038
]]></description><link>https://community.notepad-plus-plus.org/topic/27611/is-there-a-way-to-find-both-alphabets-with-and-without-accents-at-the-same-time-when-searching</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27611/is-there-a-way-to-find-both-alphabets-with-and-without-accents-at-the-same-time-when-searching</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 22 Jul 2026 01:12:29 GMT</pubDate></item><item><title><![CDATA[Problem running a macro without any associated key combination]]></title><description><![CDATA[
I already made my debug info available in my first post in this topic, which clearly indicated that I’m using an installed x86 version of NPP.

I am sorry I didn’t remember that from a week ago.
And “multiple instances” can have different meanings to different people.  Even if I had remembered you were using installed, that doesn’t mean that you weren’t also using a portable: not everyone would think to mention such a thing – they might not even think about it, when using their multiple installations/portables next to each other.  (I have my daily as Installed, but I also have multiple active portables that use different configurations).  I just needed to make sure, because different setups could have vastly different reasons for the symptoms you describe.

I normally run NPP the first time after a restart via either its shortcut in my taskbar or the start menu. Any second instance is normally opened with command line options -multiInst -nosession (via AutoHotkey keyboard shortcut), and I always exit it before exiting the primary instance.

In theory then, the validate from the main instance should get saved.  After you validated, did you exit before running again and spawning multiple instances?  Because Notepad++ doesn’t save the new copy of the config file (with the new validation HMAC code) until it exits.  So if you ran the main, ran validate, then spawned new instances, the HMAC code might not have propagated to the new instances
I don’t know whether N++ gives a copy of the current config structure from memory to the new process, or whether the new process is completely separate, in which case, it would have read the old version from the disk again – re-reading, since you are doing notepad++.exe -multiInst -nosession via AHK (ie, outside N++, instead of using the “Clone to New Instance” command from inside Notepad++), it would have no way of propagating that HMAC to the new instance, because it hasn’t written it to the config.xml yet, so when the new instance reads config.xml, it is out-of-date.

A few hours ago, just before I posted my last reply, I was consistently able to replicate NPP’s demand that I re-validate when trying to run my macro. Now, I can’t. No idea why.

I am wondering if you finally had a sequence where you did the validate, then exited so it saved the right HMAC, and now everything is settled.  I hope so (and believe so).

Stay tuned. If it comes back, I’ll be sure to make a note of the exact sequence and post again.

Based on my experiments (below), which are 100% repeatable for me, now that the HMAC has been properly saved, it shouldn’t prompt you again until you manually edit the shortcuts file.

My Steps to Confirm:

create example.pyfrom Npp import notepad
notepad.runMenuCommand("Macro", "Trim Trailing Space and Save")


exit all Notepad++
use notepad.exe to edit config.xml and remove the line with name=“shortcutsXmlHMAC” (which causes it to be not-yet-validated), and save
launch main copy of Notepad++
Run &gt; validate shortcuts.xml
open a new instance of N++ with -multiInst -nosession
Plugins &gt; PythonScript &gt; scripts &gt; example
→ it will pop up the shortcuts.xml file and the validation warning messagebox

please note: this doesn’t require you to use the keyboard shortcut; just that you run a scrpt that tries to run a macro or run-menu command, as far as I can tell – my experiments have not been using an assigned keystroke to run the script.


exit the second instance
exit the first instance (which should save the config.xml with validated HMAC)
launch main copy of Notepad++
open a new instance of N++ with -multiInst -nosession
Plugins &gt; PythonScript &gt; scripts &gt; example
→ it will not pop up the shortcuts.xml file or the validation warning messagebox, because it’s valid

So, I guess the clarified version: if you are using multiple instances, close all intstances but one, look at shortcuts.xml to make sure all the macros and run-menu commands are as you expect them to be, then Run &gt; validate shortcuts.xml, then exit Notepad++ to get it to save that.  From now on, you shouldn’t need to validate again unless you intentionally manually edit shortcuts.xml.  (Using Shortcut Mapper or saving new macros or run menu commands should not trigger a re-validate, because Notepad++ should update the HMAC when it changes the shortcuts.xml itself)

update: PR 889 is adding a NOTE to that effect in the shortcuts.xml security section – you may have to refresh your browser to see it.
]]></description><link>https://community.notepad-plus-plus.org/topic/27608/problem-running-a-macro-without-any-associated-key-combination</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27608/problem-running-a-macro-without-any-associated-key-combination</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Mon, 20 Jul 2026 12:12:53 GMT</pubDate></item><item><title><![CDATA[HELP on Macros - security issue?]]></title><description><![CDATA[User Manual has been updated:

Renamed header to “shortcuts.xml Security” and includes mention of Macros as well: https://npp-user-manual.org/docs/config-files/#shortcutsxml-security
added Macros Security on the macros page: https://npp-user-manual.org/docs/macros/#macro-security
added a paragraph linking to the “shortcuts.xml Security” page in the Running External Commands page: https://npp-user-manual.org/docs/run-menu/#security-is-your-responsibility

]]></description><link>https://community.notepad-plus-plus.org/topic/27609/help-on-macros-security-issue</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27609/help-on-macros-security-issue</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Mon, 20 Jul 2026 11:15:58 GMT</pubDate></item><item><title><![CDATA[Issues with XML highlighting text]]></title><description><![CDATA[@PeterJones I was looking at style for CDATA instead of SGML, so that explains it. Thanks a lot for the help!!
]]></description><link>https://community.notepad-plus-plus.org/topic/27606/issues-with-xml-highlighting-text</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27606/issues-with-xml-highlighting-text</guid><dc:creator><![CDATA[Jo-Su717]]></dc:creator><pubDate>Fri, 17 Jul 2026 15:27:35 GMT</pubDate></item><item><title><![CDATA[Bug: Empty file with UTF-8 encoding saved as ANSI]]></title><description><![CDATA[
@Coises said:
What is really means is, when Notepad++ opens an existing file that contains only ASCII characters, it should treat it as UTF-8 rather than as ANSI.

Yeah, so for example: “Treat ASCII-only files as UTF-8 (instead of ANSI)” or something similar could be a more clear wording for the option.

Which, for me, raises the question: Why is this only available when UTF-8 is the default encoding for new files?

It would add a bit more flexibility to the user, but on the other side it seems very unlikely to set this option if you don’t want UTF-8 as default. So I guess it could be a preventative measure that the user doesn’t set any confusing options.
]]></description><link>https://community.notepad-plus-plus.org/topic/27603/bug-empty-file-with-utf-8-encoding-saved-as-ansi</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27603/bug-empty-file-with-utf-8-encoding-saved-as-ansi</guid><dc:creator><![CDATA[MarkusBodensee]]></dc:creator><pubDate>Sat, 11 Jul 2026 07:06:58 GMT</pubDate></item><item><title><![CDATA[With the help of a Regex, how to find "code" preceded by a "<" only if "code {" is absent between "<style" and "" in the css section which is below ?]]></title><description><![CDATA[@guy038 Merci beaucoup!
]]></description><link>https://community.notepad-plus-plus.org/topic/27601/with-the-help-of-a-regex-how-to-find-code-preceded-by-a-only-if-code-is-absent-between-style-and-style-in-the-css-section-which-is-below</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27601/with-the-help-of-a-regex-how-to-find-code-preceded-by-a-only-if-code-is-absent-between-style-and-style-in-the-css-section-which-is-below</guid><dc:creator><![CDATA[dr ramaanand]]></dc:creator><pubDate>Wed, 08 Jul 2026 20:40:33 GMT</pubDate></item><item><title><![CDATA[Unable to open files within an opened file]]></title><description><![CDATA[@PeterJones
Perfect thank you very much!
]]></description><link>https://community.notepad-plus-plus.org/topic/27599/unable-to-open-files-within-an-opened-file</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27599/unable-to-open-files-within-an-opened-file</guid><dc:creator><![CDATA[ReeceBonneyTT]]></dc:creator><pubDate>Tue, 07 Jul 2026 11:11:22 GMT</pubDate></item><item><title><![CDATA[Need help with find and replace using wildcards and in multiple files]]></title><description><![CDATA[@PeterJones Worked perfectly, thank you.
]]></description><link>https://community.notepad-plus-plus.org/topic/27595/need-help-with-find-and-replace-using-wildcards-and-in-multiple-files</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/topic/27595/need-help-with-find-and-replace-using-wildcards-and-in-multiple-files</guid><dc:creator><![CDATA[Paul Klaes]]></dc:creator><pubDate>Sat, 04 Jul 2026 13:37:09 GMT</pubDate></item></channel></rss>