Re: Tutorial: Notepad++ shortcuts.xml macro converts unicode to the 95-keyboard ASCII characters

Marian <[email protected]>
Newsgroups alt.comp.os.windows-10,alt.comp.os.windows-11,alt.comp.microsoft.windows
Organization BWH Usenet Archive (https://usenet.blueworldhosting.com)
Message-ID <[email protected]>
>> And I noticed while walking thru that list :
>> "&#8201;" is a thin space, not an "x".
>> "&amp;#151;" to "&amp;" ?  Not a dash ?
>> '&quot;'  with single-quotes around it instead of double ones ?   Any reason 
>> for that ?
>> "apos;" ?  Why not just a single quote thats available on you keyboard ?
>> "&#x00A0;" is a hard space, not a quote.
>> "&#x2018;" and "&#x2019;" are twice in there.
>> "&#x2a;" is a standard ASCII char ("*").  Why not use it instead ?


Thank you for all those suggestions, where, as always, I easily agree 
with anyone who makes a logically sensible argument, no matter what.

1. Regarding "&#8201;" is a thin space, not an "x".
   I don't see &#8201; (thin space) explicitly listed in the macro.
    &#x00A0; (NO-BREAK SPACE was replaced with " ")
    &#x2007; (FIGURE SPACE was replaced with " ")
    &#x202F; (NARROW NO-BREAK SPACE was replaced with " ")

I haven't tested it thoroughly but this is what I'll test:
 <!-- U+2009 THIN SPACE ? " " -->
 <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2009;" />
 <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
 <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
 <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

2. Regarding "&amp;#151;" to "&amp;" ?  Not a dash ?
   &#151; is a legacy Windows-1252 code for an em dash.
   In proper Unicode, the em dash is &#x2014;
   Since &#151; represents a dash, the replacement should logically be a dash (-).
   Good catch. Here's the fixed block.

 <!-- Literal &amp;#151; ? "-" -->
 <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1601" wParam="0" lParam="0" sParam="&amp;#151;" />
 <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
 <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
 <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

3. &quot; is the XML entity for a double quote (").
   In XML, both single ' and double " quotes are valid for wrapping attribute values.
   Functionally, it works fine in that Notepad++ will interpret it correctly.
   Using single quotes around &quot; is just a stylistic choice.
   sParam="&quot;" will also work.

   For easier reading, I'll change it to these.
 <!-- U+201C LEFT DOUBLE QUOTE ? "\"" -->
 <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201C;" />
 <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1602" wParam="0" lParam="0" sParam="&quot;" />
 <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
 <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

 <!-- U+201D RIGHT DOUBLE QUOTE ? "\"" -->
 <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201D;" />
 <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1602" wParam="0" lParam="0" sParam="&quot;" />
 <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
 <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

 The change is:
  Before: sParam='&quot;' (single quotes around the entity).
  Now: sParam="&quot;" (double quotes around the entity).

4. "apos;" ? Why not just a single quote that's available on your keyboard?
   The reason is that I was in syntax hell when I first tried it.
   So instead of a single quote, I used the XML entity for it.
   But you are correct that, in XML, you can safely put a literal ' inside 
   an attribute value if the attribute itself is wrapped in double quotes.
    So sParam="'" is simpler and clearer than is sParam="&apos;"

   This is a rewritten block that takes advantage of that syntax:
 <!-- U+2018 LEFT SINGLE QUOTE ? "'" -->
 <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2018;" />
 <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
 <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
 <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
 <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

 Thanks for the advice, which I had taken the easy way out (syntactically)
 in the past, but your suggestion is much easier for others to read.

 I changed these six blocks (U+2018, U+2019, U+200C, U+200D, U+2060, 
 and BACKTICK) to use a plain ' instead of &apos;.

5. "&#x00A0;" is a hard space, not a quote.
   This hard space (aka a non-breaking space) is correct but I can see how
   it might have been mixed in with the quotes.

6. "&#x2018;" and "&#x2019;" are twice in there.
   Later in the file, I also had zero-width joiner/non-joiner and 
   word joiner sections where the replacement was also '.
   That makes it look like the single quote replacement appears multiple times.
   The Unicode single quotes (U+2018 and U+2019) were not repeated, AFAICT.
   Yes there are several other blocks where the replacement was also ' 
  (for zero-width joiner, non-joiner, word joiner, backtick) but those aren't 
  duplicates of U+2018 or U+2019, but they look similar since the replacement 
  is the same character.

7. "&#x2a;" is a standard ASCII char ("*"). Why not use it instead?
   I'm replacing the Unicode bullet with an asterisk (*).
   But you're saying, I think, that * is already a plain ASCII character
   so we don't need to encode it.
   In the macro, I have it set as sParam="*", which will use the asterisk.
   I agree with you that encoding ASCII characters as entities is unnecessary

Here is the new shortcuts.xml, version 1p2, with those specific fixes.

 <?xml version="1.0" encoding="UTF-8" ?>
  <!-- Notepad++ shortcuts.xml version 1p2 20251211 -->
  <!-- Use model: ctrl+A (select all), ctrl=B (convert) -->
  <!-- 1700 start search -->
  <!-- 1601 set search string (funky character) -->
  <!-- 1625 clear replace buffer -->
  <!-- 1602 set replacement string (ASCII equivalent) -->
  <!-- 1702 run replace all -->
  <!-- 1701 end -->

 <NotepadPlus>
  <InternalCommands>
    <Shortcut id="43009" Ctrl="no" Alt="no" Shift="no" Key="0" />
  </InternalCommands>

  <Macros>
    <Macro name="ASCII" Ctrl="yes" Alt="no" Shift="no" Key="66">

  <!-- U+2010 HYPHEN ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2010;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2011 NON-BREAKING HYPHEN ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2011;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2012 FIGURE DASH ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2012;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2013 EN DASH ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2013;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2014 EM DASH ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2014;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2212 MINUS SIGN ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2212;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2018 LEFT SINGLE QUOTE ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2018;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2019 RIGHT SINGLE QUOTE ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2019;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+201C LEFT DOUBLE QUOTE ? "\"" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201C;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="&quot;" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+201D RIGHT DOUBLE QUOTE ? "\"" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201D;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="&quot;" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2026 HORIZONTAL ELLIPSIS ? "..." -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2026;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="..." />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2022 BULLET ? "*" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2022;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="*" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+200B ZERO WIDTH SPACE ? "" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200B;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+200C ZERO WIDTH NON-JOINER ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200C;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+200D ZERO WIDTH JOINER ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200D;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2060 WORD JOINER ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2060;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+FEFF BOM ? "" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#xFEFF;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+00A0 NO-BREAK SPACE (aka a hard space) ? " " -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00A0;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2007 FIGURE SPACE ? " " -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2007;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+202F NARROW NO-BREAK SPACE ? " " -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x202F;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2009 THIN SPACE ? " " -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2009;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+00B0 DEGREE SIGN ? "deg" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00B0;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="deg" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+00A9 COPYRIGHT SIGN ? "(C)" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00A9;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="(C)" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2122 TRADE MARK SIGN ? "(TM)" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2122;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="(TM)" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+00AE REGISTERED SIGN ? "(R)" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00AE;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="(R)" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+2192 RIGHT ARROW ? "->" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2192;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="->" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- BACKTICK ? "'" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="`" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="'" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- Literal &zwnj; ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&zwnj;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- Literal &amp;#151; ? "-" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&amp;#151;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="-" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
  

  <!-- U+011F LATIN SMALL LETTER G WITH BREVE ? "g" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x011F;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="g" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+0161 LATIN SMALL LETTER S WITH CARON ? "s" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x0161;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="s" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+011B LATIN SMALL LETTER E WITH CARON ? "e" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x011B;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="e" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+00E1 LATIN SMALL LETTER A WITH ACUTE ? "a" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00E1;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="a" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

  <!-- U+0001 SOH ? "" -->
  <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x0001;" />
  <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
  <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
  <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

    </Macro>
  </Macros>

  <UserDefinedCommands>
    <Command name="Get PHP help" Ctrl="no" Alt="yes" Shift="no" Key="112">https://www.php.net/$(CURRENT_WORD)</Command>
    <Command name="Wikipedia Search" Ctrl="no" Alt="yes" Shift="no" Key="114">https://en.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)</Command>
    <Command name="Open file in another instance" Ctrl="no" Alt="yes" Shift="no" Key="117">$(NPP_FULL_FILE_PATH) $(CURRENT_WORD) -nosession -multiInst</Command>
  </UserDefinedCommands>

  <PluginCommands />
  <ScintillaKeys />
 </NotepadPlus>
-- 
I invest energy in responding to Usenet posts because I care about people
getting full & complete information so we move tribal knowledge forward.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.