<?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[Run until the end of file only runs once]]></title><description><![CDATA[<p dir="auto"><strong>Notepad++ 7.8.2 32-bit on Windows 10</strong> - When I record a macro, open the “Run a Macro Multiple Times” dialog, select “Run until the end of file”, and press “Run”, the macro only executes once.  If I choose “Run X times”, it does run X times.  What’s really odd is that I’m 99% sure that “Run until the end of file” has worked for me.  I’m new to Notepad++, so may not have tried this before, but am pretty sure I have.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/18642/run-until-the-end-of-file-only-runs-once</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 05:04:21 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/18642.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Dec 2019 14:55:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Run until the end of file only runs once on Wed, 17 Mar 2021 20:10:13 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/21504">@vishwas-bhide</a> and <strong>All</strong>,</p>
<p dir="auto">So your language uses the Unicode <em>DEVANAGARI</em> script, in range <strong><code>U+0900 - U+097F</code></strong> below :</p>
<p dir="auto"><a href="https://www.unicode.org/charts/PDF/U0900.pdf" rel="nofollow ugc">https://www.unicode.org/charts/PDF/U0900.pdf</a></p>
<p dir="auto">And :</p>
<pre><code class="language-z">- The **`॥`** character is *DEVANAGARI DOUBLE DANDA*, with code-point **`\x{0965}`**

- The **`०`** character is *DEVANAGARI DIGIT ZERO*,   with code-point`\x{0966}`**

- The **`१`** character is *DEVANAGARI DIGIT ONE*,    with code-point`\x{0967}`**

- The **`२`** character is *DEVANAGARI DIGIT TWO*,    with code-point`\x{0968}`**

- The **`३`** character is *DEVANAGARI DIGIT THREE*,  with code-point`\x{0969}`**

- The **`४`** character is *DEVANAGARI DIGIT FOUR*,   with code-point`\x{096A}`**

- The **`५`** character is *DEVANAGARI DIGIT FIVE*,   with code-point`\x{096B}`**

- The **`६`** character is *DEVANAGARI DIGIT SIX*,    with code-point`\x{096C}`**

- The **`७`** character is *DEVANAGARI DIGIT SEVEN*,  with code-point`\x{096D}`**

- The **`८`** character is *DEVANAGARI DIGIT EIGHT*,  with code-point`\x{096E}`**

- The **`९`** character is *DEVANAGARI DIGIT NINE*,   with code-point`\x{096F}`**
</code></pre>
<hr />
<p dir="auto">Your <strong>initial</strong> S/R could be changed as :</p>
<ul>
<li>
<p dir="auto">SEARCH <strong><code>॥\h\d+\h॥\h(?!&lt;br&gt;)</code></strong>    OR    <strong><code>\x{0965}\h\d+\h\x{0965}\h(?!&lt;br&gt;)</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>$0&lt;br&gt;</code></strong></p>
</li>
</ul>
<p dir="auto"><strong>Two</strong> advantages :</p>
<ul>
<li>
<p dir="auto"><strong>No</strong> need to capture something in a <strong>group</strong> as we grab the <strong>overall</strong> match with the <strong><code>$0</code></strong> syntax, in <strong>replacement</strong></p>
</li>
<li>
<p dir="auto">If the part <strong><code>॥ digit ॥</code></strong> is <strong>already</strong> followed  with a <strong>space</strong> char and the string <strong><code>&lt;br&gt;</code></strong>, it will <strong>not</strong> add <strong><code>&lt;br&gt;</code></strong> a <strong>second</strong> time</p>
</li>
</ul>
<hr />
<p dir="auto">So, <strong>two</strong> cases can be considered :</p>
<p dir="auto"><strong><code>A</code></strong>) <strong>WITHOUT</strong> a macro :</p>
<ul>
<li>
<p dir="auto">Open the <strong>Replace</strong> dialog  ( <strong><code>Ctrl + H</code></strong> )</p>
</li>
<li>
<p dir="auto">SEARCH <strong><code>॥\h\d+\h॥\h(?!&lt;br&gt;)</code></strong>    OR    <strong><code>\x{0965}\h\d+\h\x{0965}\h(?!&lt;br&gt;)</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>$0&lt;br&gt;</code></strong></p>
</li>
<li>
<p dir="auto"><strong>Tick</strong> the <strong><code>Wrap option</code></strong> option</p>
</li>
<li>
<p dir="auto">Select the <strong><code>Regular expression</code></strong> search <strong>mode</strong></p>
</li>
<li>
<p dir="auto">Click on the <strong><code>Replace All</code></strong> button, <strong>once</strong> ( anyway, a <strong>second</strong> click will <strong>not</strong> work ! )</p>
</li>
</ul>
<hr />
<p dir="auto"><strong><code>B</code></strong>) <strong>WITH</strong> a macro :</p>
<ul>
<li>
<p dir="auto">Open the <strong>Replace</strong> dialog  ( <strong><code>Ctrl + H</code></strong> )</p>
</li>
<li>
<p dir="auto">SEARCH <strong><code>॥\h\d+\h॥\h(?!&lt;br&gt;)</code></strong></p>
</li>
<li>
<p dir="auto">REPLACE <strong><code>$0&lt;br&gt;</code></strong></p>
</li>
<li>
<p dir="auto"><strong>Tick</strong> the <strong><code>Wrap option</code></strong> option</p>
</li>
<li>
<p dir="auto">Select the <strong><code>Regular expression</code></strong> search <strong>mode</strong></p>
</li>
<li>
<p dir="auto">Run the <strong><code>Macro Start Recording</code></strong> option  ( <strong><code>Ctrl + Shift + R</code></strong> )</p>
</li>
<li>
<p dir="auto">Click on the <strong><code>Replace All</code></strong> button</p>
</li>
<li>
<p dir="auto">Close the <strong>Replace</strong> dialog ( <strong><code>ESC</code></strong> )</p>
</li>
<li>
<p dir="auto">Run the <strong><code>Macro Stop Recording</code></strong> option  ( <strong><code>Ctrl + Shift + R</code></strong> )</p>
</li>
<li>
<p dir="auto">Run the <strong><code>Save Current Recorded Macro</code></strong> option</p>
</li>
<li>
<p dir="auto">Save it as, for instance, <strong><code>Addition of &lt;br&gt;</code></strong></p>
</li>
<li>
<p dir="auto">Choose, preferably a <strong>shortcut</strong> for further <strong>easy</strong> process</p>
</li>
<li>
<p dir="auto">Click the <strong><code>OK</code></strong> button</p>
</li>
<li>
<p dir="auto">Close and <strong>re-start</strong> Notepad++</p>
</li>
<li>
<p dir="auto">Open your <strong>concerned</strong> file</p>
</li>
<li>
<p dir="auto">Now, <strong>whatever</strong> the option chosen :</p>
<ul>
<li>
<p dir="auto"><strong><code>Macro &gt; Addition of &lt;br&gt;</code></strong></p>
</li>
<li>
<p dir="auto"><strong><code>Macro &gt; Run a Macro Multiple Times &gt; Addition of &lt;br&gt; &gt; Run 1 times</code></strong> and a click on the <strong><code>Run</code></strong> button</p>
</li>
<li>
<p dir="auto"><strong><code>Macro &gt; Addition of &lt;br&gt; &gt; Run until the end of file</code></strong> and a click on the <strong><code>Run</code></strong> button</p>
</li>
</ul>
</li>
</ul>
<p dir="auto">=&gt; The <strong><code>&lt;br&gt;</code></strong> string is added to any <strong><code>॥ digit ॥</code></strong> string, <em>ONLY</em> <strong>once</strong> !</p>
<p dir="auto">Note that the <strong><code>Wrap around</code></strong>	forces the regex engine to process file(s) from the <strong>very beginning</strong> to the <strong>very end</strong> !</p>
<hr />
<p dir="auto">If you prefer to modify, directly, your <strong>active</strong> <strong><code>shortcuts.xml</code></strong> file, add the lines, below, <strong>right before</strong> the line <strong><code>&lt;/Macros&gt;</code></strong></p>
<pre><code class="language-html">        &lt;Macro name="Addition of &amp;lt;br&amp;gt;" 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="&amp;#x0965;\h\d+\h&amp;#x0965;\h(?!&amp;lt;br&amp;gt;)" /&gt;
            &lt;Action type="3" message="1625" wParam="0" lParam="2" sParam="" /&gt;
            &lt;Action type="3" message="1602" wParam="0" lParam="0" sParam="$0&amp;lt;br&amp;gt;" /&gt;
            &lt;Action type="3" message="1702" wParam="0" lParam="768" sParam="" /&gt;
            &lt;Action type="3" message="1701" wParam="0" lParam="1609" sParam="" /&gt;
        &lt;/Macro&gt;
</code></pre>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/64049</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/64049</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Wed, 17 Mar 2021 20:10:13 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Wed, 17 Mar 2021 16:38:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/7377">@Alan-Kilborn</a>  -  Yes, I used ‘Replace all’ but missed to mention it.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/64018</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/64018</guid><dc:creator><![CDATA[Vishwas Bhide]]></dc:creator><pubDate>Wed, 17 Mar 2021 16:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Wed, 17 Mar 2021 15:51:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/21504">@Vishwas-Bhide</a></p>
<p dir="auto">Maybe a point you didn’t make is that you used the <em>Replace All</em> command?  To get it to “run to end of file”?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/64017</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/64017</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Wed, 17 Mar 2021 15:51:16 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Wed, 17 Mar 2021 15:39:39 GMT]]></title><description><![CDATA[<p dir="auto">I also faced such a situation many times. But then I started using find/replace with it’s “Regular operation” option.<br />
My files are in devanagari and usually long where there are digits with ॥ on either side [ ex. ॥ १ ॥ ] and I need to add &lt;br&gt; after that epression. I tried to record a macro like - find ॥, find again,  close the find/replace window, move cursor as ॥ follows a space then add &lt;br&gt;. This macro works but only once and not “untill end of file”.<br />
The I used find/replace where find = ॥(\s\d+\s)॥\s - where \s is space, \d is any no of digits. Part of expression is in backet which needs to be used in ‘replace with’ expression where it is represented by ‘$1’ So in “replace with” I used expression - ॥$1॥ &lt;br&gt;<br />
Please note I used ‘space’ after second ॥ in ‘replace with’ where as I used \s in find expression.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/64016</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/64016</guid><dc:creator><![CDATA[Vishwas Bhide]]></dc:creator><pubDate>Wed, 17 Mar 2021 15:39:39 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Tue, 31 Dec 2019 14:31:54 GMT]]></title><description><![CDATA[<p dir="auto">In case anyone’s watching this thread, I’ve opened <a href="https://github.com/notepad-plus-plus/notepad-plus-plus/issues/7801" rel="nofollow ugc">Run until the end of file" only runs once #7801</a>.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/49528</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/49528</guid><dc:creator><![CDATA[VTGroupGitHub]]></dc:creator><pubDate>Tue, 31 Dec 2019 14:31:54 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Fri, 27 Dec 2019 14:27:51 GMT]]></title><description><![CDATA[<p dir="auto">If I read your post correctly, you’ve confirmed my original issue i.e. “Run until end of file” does not actually run until the end of the file?  If so, then I believe I’ll open a ticket and reference this conversation.  Thanks.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/49458</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/49458</guid><dc:creator><![CDATA[VTGroupGitHub]]></dc:creator><pubDate>Fri, 27 Dec 2019 14:27:51 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Mon, 23 Dec 2019 21:25:18 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/17232">@VTGroupGitHub</a>, <a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/7377">@alan-kilborn</a> and <strong>All</strong>,</p>
<p dir="auto">Instead of trying to record a <strong>Find</strong> ( and <strong>Replace</strong> ) operation, which is, already, a bit <strong>particular</strong>, I just recorded a <strong>very</strong> simple action : Moving to the <strong>next</strong> character on the <strong>right</strong>, giving the macro, below, in your active <strong><code>shortcuts.xml</code></strong> file :</p>
<pre><code class="language-xml">        &lt;Macro name="Next Char on the Right" Ctrl="yes" Alt="no" Shift="no" Key="187"&gt;
            &lt;Action type="0" message="2306" wParam="0" lParam="0" sParam="" /&gt;
        &lt;/Macro&gt;
</code></pre>
<p dir="auto">And I associated the <strong><code>Ctrl + =</code></strong> shortcut to this macro</p>
<hr />
<p dir="auto">After some tests, with Notepad++ <strong><code>v7.8.2</code></strong>,  <strong>without</strong> any <strong>additional</strong> plugins installed, I would say that :</p>
<ul>
<li>
<p dir="auto">Running <strong><code>Macro &gt; Run a Macro Multiple Times... &gt; Next Char on the Right &gt; Run 'None' or '1' times</code></strong> moves caret to <strong>next</strong> position on the <strong>right</strong>, as <strong>expected</strong></p>
</li>
<li>
<p dir="auto">Running <strong><code>Macro &gt; Run a Macro Multiple Times... &gt; Next Char on the Right &gt; Run </code>x<code> times</code></strong> moves <strong><code>xth</code></strong> times the caret on the <strong>right</strong>, as <strong>expected</strong></p>
</li>
<li>
<p dir="auto">Running <strong><code>Macro &gt; Run a Macro Multiple Times... &gt; Next Char on the Right &gt; Run until the end of file</code></strong> moves caret to the <strong>next</strong> position on the <strong>right</strong>, only and <strong>NOT</strong> at the <strong>very end</strong> of file as it should do :-((</p>
</li>
<li>
<p dir="auto"><strong>Each</strong> hit on the <strong><code>Ctrl + =</code></strong> shortcut moves <strong>correctly</strong> the caret to <strong>next</strong> position on the <strong>right</strong> or <strong>downward</strong></p>
</li>
</ul>
<p dir="auto">Best Regards,</p>
<p dir="auto">guy038</p>
]]></description><link>https://community.notepad-plus-plus.org/post/49421</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/49421</guid><dc:creator><![CDATA[guy038]]></dc:creator><pubDate>Mon, 23 Dec 2019 21:25:18 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Sun, 22 Dec 2019 17:57:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://community.notepad-plus-plus.org/uid/17232">@VTGroupGitHub</a></p>
<p dir="auto">The same thing happens for me when I tried it with a simple <em>Replace</em> action.  Actually, I don’t think I’ve ever noticed the <em>Run until end of file</em> option; I’ve certainly never used it.  Does anyone know how it is supposed to work (which seems obvious) or how to make it work?</p>
]]></description><link>https://community.notepad-plus-plus.org/post/49410</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/49410</guid><dc:creator><![CDATA[Alan Kilborn]]></dc:creator><pubDate>Sun, 22 Dec 2019 17:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to Run until the end of file only runs once on Thu, 19 Dec 2019 22:43:33 GMT]]></title><description><![CDATA[<p dir="auto">One more observation, in case it helps identify the cause:</p>
<p dir="auto">My testcase is to find the letter ‘a’, then record a macro that replaces ‘a’ with ‘z’ and does a Find Next (F3 in my case).  What I’ve noticed is that when clicking the “Run a Macro Multiple Times” Run button with “Run until the end of file” selected, the macro only runs once EXCEPT for the last ‘a’ on the line, in which case it replaces that last ‘a’ as well as the first ‘a’ of the next line before it stops.</p>
<p dir="auto">Not sure if this indicates anything, but it is different, so I thought I’d pass it on.  And I’m sure at some point in the last week this scenario did run to end of file, so something has changed with my install.  I’ll keep digging into that too.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/49352</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/49352</guid><dc:creator><![CDATA[VTGroupGitHub]]></dc:creator><pubDate>Thu, 19 Dec 2019 22:43:33 GMT</pubDate></item></channel></rss>