Community
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • CoisesC

      Search++: A work in progress

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      57
      5 Votes
      57 Posts
      3k Views
      CoisesC

      @guy038 said in Search++: A work in progress:

      I’m still looking for all the ICU properties returning a valid value, against my Total_Chars.txt file ! Be patient some days as it remains about 600 properties not tested !!

      I would expect that they will all work. I have avoided tampering with the ICU search, so it can serve as a reference standard for the Regex search as far as Unicode properties.

      There are some Boost.Regex constructs that ICU does not support. The ones I know about right now are backtracking control (like (*SKIP)(*FAIL)); \K; and \l and \u as shorthand for [[:lower:]] and [[:upper:]]; there may be others. I don’t expect that I will attempt to modify the ICU syntax in any way.

      Offering ICU as a “first class” search (working on documents that aren’t UTF-8, being able to replace as well as find, being reasonably efficient for large documents, etc.) is probably possible, but it will take a lot of work. I’m not at all certain it is a task I will attempt.

      On the other hand, once the framework is in place and I feel comfortable taking Search++ out of pre-release status, I do hope to add more of the ICU properties to regular Regex.

      BTW, @coises, what do you think of my idea regarding the two options, Replace (then find) and Replace (then wait) ?

      I see your point that the Replace drop-down has become overwhelming with all the options, especially in Plain search.

      I’m now planning to add a toggle item (with a check mark) to the Tools menu; something like Jump to next match after Replace. I’m also planning to add keyboard shortcuts for (most or all of) the Tools menu items. That would make it reasonably easy to toggle between Replace (then find) and Replace (then wait) without complicating the menu so badly. (With the shortcut it would be more keyboard-friendly than the present arrangement.) The next version will include something like that, unless I encounter an unexpected obstacle or think of a better idea.

    • S

      PythonScript: "New Script" not shown

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      15
      0 Votes
      15 Posts
      632 Views
      Alan KilbornA

      @snafu423 said:

      since I use the “real” portable version it all works fine

      And this is the key point of this entire thread!

    • Ling LingL

      How to Remove "Edit with Notepad++" from the Right-Click Context Menu

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      5
      0 Votes
      5 Posts
      4k Views
      MarkusBodenseeM

      And please don’t forget the easiest solution, just uncheck the option to install the Context Menu Entry during Notepad++ installation.

      5769799f-767f-43f8-9077-4fa41520f267-grafik.png

    • donhoD

      Notepad++ release 8.9.3

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      8
      7 Votes
      8 Posts
      5k Views
      PeterJonesP

      @Vitalii-Dovgan said in Notepad++ release 8.9.3:

      With EOL regression, I better stay on 8.9.2.
      The EOL mismatch often happens when copying and pasting between different apps and web pages. In this situation, the text editor must be a reliable tool of fixing all these mismatches.

      For you, and anyone else, who needs to fix EOLs in the meantime, even with v8.9.3: regular expression FIND = \r\n|\r|\n REPLACE = \r\n Replace All will do what you want (and can be easily recorded as a macro)

    • donhoD

      All the off-topic go here

      Watching Ignoring Scheduled Pinned Locked Moved Boycott Notepad++
      8
      3 Votes
      8 Posts
      6k Views
      guy038G

      Hello, @datatraveller1 and All,

      Many thanks for joining the Compare2Lists’s author and many thanks to Fatih Ramazan Çıkan which was able to get a quick new 1.7 version which fixes this annoying bug !

      I also tried this software on that real example that I proposed in this post, some days ago :

      https://community.notepad-plus-plus.org/post/105031

      You can download this file from my Google Drive account :

      https://drive.google.com/file/d/1aYOpKon4KYw_NXSdj4Tm4Ti_FrygC2ky/view?usp=sharing

      Before using it with the Compare Two Lists software :

      Delete the last column, which counts the number of records, with a column mode selection

      Delete all trailing blank characters with the Edit > Blank operations > Trim Trailing Space option

      Place all contents in the clipboard ( Ctrl + C )

      Now, open the Compare Two Lists software

      Paste all the resulting contents with the Paste button, associated with the List #1 panel

      Check that the Settings > Cas sensitive option, if necessary

      Click on the Remove Duplicates button, associated with the List #1 panel

      => You should see that it remains 50,822 records

      And this is exactly the results produced when you use the cases #3 or #4 of my post ;-))

      Best Regards,

      guy038

    • Rene BaldukR

      Upgrade curl error

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      2
      0 Votes
      2 Posts
      76 Views
      PeterJonesP

      @Rene-Balduk ,

      Are you in an IT-controlled environment that requires connecting to a proxy to connect to the internet? If so, then you (or someone from IT) will need to launch Notepad++ As Admin, and set ? > Set Updater Proxy to the right value. (127.0.0.1 is your localhost – ie your own computer – and it surprises me that it would be pointing to a proxy on your own machine)

    • Joe 0J

      Archive of Notepad++ versions

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion archiving
      4
      0 Votes
      4 Posts
      281 Views
      PeterJonesP

      @George-0 said in Archive of Notepad++ versions:

      I checked this link but it is not that relevant.

      Why do you think that? The README that @Murray-Sobol-1 linked to starts with,

      You can find all the old Notepad++ releases - from the very first version 1.0 up to v6.9.2 - here

      That’s 100% relevant to the original question “does any people have an notepad++ installers from version 1.0-4.x.x?”

      And if you then follow the link in that README to the Releases page, there are a few pages of releases. The first page has all the v1 installers/downloads, all the v2 installers/downloads, all the v3 installers/downloads, all the v4 installers/downloads (split into groups), and all the v5 installers/downloads (split into groups). And clicking to the second page gives all the v6 installers/downloads (split into groups). If that’s not relevant, then there is no answer to the original question that is relevant. Fortunately, it is obviously relevant: I was quite happy that the Developer listed to the feedback of the users, and re-published all those old installers so that people can still go grab the older copies of the application. He didn’t have to, and I appreciate that he did.

    • R

      No-save buffer, for log barf I don't want to save

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      92 Views
      PeterJonesP

      @robstoddard ,

      Personally, I just have a file named Peter's Scratchpad.txt that’s always open, where I paste things like that (and, admittedly, things that started like that but have just stayed around in that file for a lot longer than originally intended). And if I save the “temporary data” in the file, who cares? I just delete the stuff out of the file that I don’t need anymore when I don’t need them anymore. That way, I can just Save All or use the Auto-Save plugin as much as I want, without having to ask for a specific feature to “not save this one thing”.

    • Phil ShearerP

      Download Status Page Out of Date

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      281 Views
      PeterJonesP

      @Phil-Shearer said in Download Status Page Out of Date:

      hopefully it will all be good again in a week or two

      As of 2026-Apr-7 (per this post), v8.9.3 has been triggered for Auto-Update, so ? > Update Notepad++ should see a new version available now.

    • guy038G

      About single and duplicate lines...

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      2 Votes
      2 Posts
      371 Views
      Evelyn WalkerE

      @guy038 said in About single and duplicate lines...:

      About single and duplicate lines…
      General Discussion
      1 posts
      1 posters
      225 views

      guy038
      Mar 24, 2026, 8:45 PM

      Hello, All,

      Reading that post made me realize that searching for single or duplicate lines is a very common task. Some time ago, for my personal workflow, I had written a method to solve the main cases ! So, in this post, I’m going to show you, from an original file, how to keep :

      All single lines, ONLY

      All duplicate lines, ONLY

      All single lines and the first copy of all duplicate lines

      All single lines and the last copy of all duplicate lines

      The first copy of all duplicate lines, ONLY

      The last copy of all duplicate lines, ONLY

      I’ll use a file, named Test_File.txt, that both contains single lines and duplicate lines that appear in 2, 3, 4 or more times. It contains 48 color palettes, found from various sites and added one after another, giving a total of 78,117 records whose 39,532 are single lines and 38,585 are duplicate lines. On the other hand, if we count one copy of all the duplicates, this file contains 11,290 different duplicate lines.

      To test my solutions, simply download this UTF-8 file ( 5,937,560 bytes ) from my Google Drive account :

      https://drive.google.com/file/d/1aYOpKon4KYw_NXSdj4Tm4Ti_FrygC2ky/view?usp=sharing

      Remarks :

      Note the definition of single lines : these are lines that differ in characters and/or case from all the other lines of the current file. For example, in this small file of 14 lines, below :

      ABC xyz 123 789 HIJ HIJ 123 AbC 123 HIJ abc HIJ 456 xyz

      The 5 lines ABC, AbC, abc, 789 and 456 are considered to be single lines, as different in chars and/or case from all the other lines.

      The 3 123 lines are considered to be a duplicate line with 3 copies ( Multiple occurrences )

      The 2 xyz lines are considered to be a duplicate line with 2 copies ( Multiple occurrences )

      Les 4 HIJ lines are considered to be a duplicate line with 4 copies ( Multiple occurrences )

      IMPORTANT :

      I’ve done some of the work for you, by adding a final column that numbers all lines in this file. Thus, is will be easy to restore the original order of the remaining records, after that each processing is complete. So, in case you need this initial order :

      Put the caret right before the present number, at the end of the first line

      Run the Edit > Begin/End Select in Column Mode option ( or use the Alt + Shift + B shortcut )

      Move to the last line of the file

      Put the caret right before the present number, at the end of the last line

      Run again the Edit > Begin/End Select in Column Mode option ( or use the Alt + Shift + B shortcut )

      => A ZERO-LINE column mode selection should appear throughout all the lines

      Then, run the Edit > Line Operations > Sort Lines Lexicographically Ascending option
      => The original order of the remaining records, AFTER completion of one of the 6 methods below, should be back !

      In each procedure, below, 1 or 2 S/R are used. To process them :

      First, cancel any existing selection to ensure that any line-end character will be taken in account during the S/R phase

      Open the Replace dialog ( Ctrl + H )

      Uncheck all box options

      Check the Wrap around option

      Select the Regular expression search mode

      Click on the Replace All button

      (1) To keep all the SINGLE lines ONLY ( 39,532 records ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )+

      REPLACE Leave EMPTY

      Perform the IMPORTANT section, above

      (2) To keep all the DUPLICATE lines ONLY ( 38,585 records = 78,117 - 39,532 ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )+ (*SKIP) (*F) | ^ .+ \R

      REPLACE Leave EMPTY

      Perform the IMPORTANT section, above

      (3) To keep all the SINGLE lines and the FIRST copy of ALL the DUPLICATE lines, found AFTER the sort ( 50,822 records ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( ( .+ ) .{7} \R ) (?: \2 .{7} \R )+

      REPLACE \1

      Perform the IMPORTANT section, above

      (4) To keep all the SINGLE lines and the LAST copy of all the DUPLICATE lines, found AFTER the sort ( 50,822 records ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )* ( \1 .{7} \R )

      REPLACE \2

      Perform the IMPORTANT section, above

      (5) To keep the FIRST copy of all the DUPLICATE lines ONLY, found AFTER the sort ( 11,290 = 50,822 - 39,532 ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )+ (*SKIP) (*F) | ^ .+ \R

      REPLACE Leave EMPTY

      Then :

      SEARCH (?x-is) ^ ( ( .+ ) .{7} \R ) (?: \2 .{7} \R )+

      REPLACE \1

      Perform the IMPORTANT section, above

      (6) To keep the LAST copy of all the DUPLICATE lines ONLY, found AFTER the sort ( 11,290 = 50,822 - 39,532 ) :
      Paste the Text_File.txt contents in a new tab

      Switch to that new tab and select all text ( Ctrl + A )

      Run the Edit > Line Operations > Sort Lines Lexicographically Ascending option

      Click anywhere, in the new tab, to cancel the entire selection

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )+ (*SKIP) (*F) | ^ .+ \R

      REPLACE Leave EMPTY

      Then :

      SEARCH (?x-is) ^ ( .+ ) .{7} \R (?: \1 .{7} \R )* ( \1 .{7} \R )

      REPLACE \2

      Perform the IMPORTANT section, above

      At the very end of any of these choices, you may delete the extra numeration :

      SEARCH (?x-s) .{7} $

      REPLACE Leave EMPTY

      Then run the Edit > Blank Operations > Trim Trailing Space

      Best Regards,

      guy038

      P.S. :

      Note that there is also a native way to get all the single lines and the first copy of all the duplicate lines, found with the present order ( 50,822 records ) :

      Paste the Text_File.txt contents in a new tab

      Switch to that new tab

      Delete the numeration, at end of each line :

      SEARCH (?x-s) .{7} $

      REPLACE Leave EMPTY

      Then, use the Edit > Line Opérations > Remove Duplicate lines option

      That’s a pretty solid breakdown 👍

      For most cases though, I’d honestly just go with the built-in “Remove Duplicate Lines” unless you specifically need first/last occurrences. Way simpler and less error-prone.

      The regex approach is powerful, but yeah… a bit overkill unless you’re dealing with very specific cases or large datasets.

    • Kevin HemkenK

      Add line of text to beginning of multiple files

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      25
      0 Votes
      25 Posts
      33k Views
      Amelia MendouzaA

      @Claudia-Frank

      Some seven years later: exactly my query too. Many thanks. 😊😊