• Search++: A work in progress

    Notepad++ & Plugin Development
    55
    5 Votes
    55 Posts
    3k Views
    Snabel42S

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

    Search++ version 0.5.2 addresses a number of issues:

    Fix display of Settings: Mark style drop-down in dark mode. (@Snabel42: this should fix the problem you described here.)

    It does indeed, thank you!

  • Notepad++ release 8.9.3

    Pinned Announcements
    8
    7 Votes
    8 Posts
    4k 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)

  • 0 Votes
    15 Posts
    461 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!

  • 0 Votes
    5 Posts
    246 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.

  • About single and duplicate lines...

    General Discussion
    2
    2 Votes
    2 Posts
    289 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.

  • Archive of Notepad++ versions

    General Discussion
    4
    0 Votes
    4 Posts
    252 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.

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

    General Discussion
    2
    0 Votes
    2 Posts
    71 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”.

  • All the off-topic go here

    Pinned 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

  • 0 Votes
    25 Posts
    33k Views
    Amelia MendouzaA

    @Claudia-Frank

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

  • 奸叛国者,必万斩之

    Boycott Notepad++
    7
    -1 Votes
    7 Posts
    1k Views
    Lycan ThropeL

    @Fii-Ert ,

    815
    我之前的评论依然有效。你那些显而易见的人身攻击,暴露了你在辩论中缺乏诚信;而你那种以为对手除了你们党派灌输的那些教条之外便对外部世界一无所知的臆想,更是与事实相去甚远。你可以试着去蒙骗那些涉世未深的人,但请把你的那一套宣传留给你该留的地方——也就是你那充满倒退色彩、妄图称霸世界的“中国梦”里去吧。

    如果你除了那些含糊其辞的陈词滥调和人身侮辱之外别无他物,那么中国人民当真是彻底迷失了方向,永远无法摆脱自我膨胀的桎梏,更无法拥有超越眼前狭隘视野的眼光。请你再消失个四年吧。我确信,贵国对外部网络的封锁或许是你这四年间音讯全无的部分原因,但这四年过去,你既没有变得更加清醒,也没有变得更加博学。好自为之吧,我们的对话到此为止。

  • 0 Votes
    3 Posts
    173 Views
    CoisesC

    @rdipardo said in A question about dark mode, plugins, and an owner-draw ComboBox:

    Try passing the control’s handle to the ::SetWindowTheme function provided by the uxtheme header, using L"DarkMode_CFD" as the pszSubAppName; to restore light mode, call it with the same arguments, but change pszSubAppName to a null pointer.

    Thanks, Robert. At first attempt, this doesn’t appear to solve the problem.

    The colors are right with just NPPM_DARKMODESUBCLASSANDTHEME; the problem is that the static control shows unknown text instead of the selected drop-down entry, and attempting to select from the drop-down produces bizarre highlighting and tracking instead of what is expected (and still doesn’t set the static control). Adding the SetWindowTheme call doesn’t change that. Removing NPPM_DARKMODESUBCLASSANDTHEME, of course, makes everything else light, and for the control in question, SetWindowTheme only seems to change the drop-down chevron. Interestingly, NPPM_DARKMODESUBCLASSANDTHEME does get all the colors right, including in the owner-drawn drop-down; it just breaks the functionality in the process.

    The problem goes away entirely if I remove the CBS_OWNERDRAWFIXED style (but then, of course, it doesn’t display as intended, showing the color associated with each indicator that can be selected). That’s why I feel like the problem is most likely to do with the sub-classing. I can’t find any clear documentation on how all that works. I don’t even know why the controls are being sub-classed, and not just themed. Maybe there is a way to exempt that control from sub-classing, and do whatever it is that the sub-classing does in my own code?

    A pointer to actual documentation on this design, how it works and how it is meant to be used would be wonderful, but I’m guessing no such thing exists. :-(

  • 傻逼软件吧 中文按钮放的什么国旗

    Boycott Notepad++
    24
    0 Votes
    24 Posts
    25k Views
    Fii ErtF

    @bwisely
    Religious freedom?
    You mean NaZi freedom.

    什么宗教自由?根本纳粹自由。
    记不记得40%当时胜选总统的时候多猖狂,大叫在野党「输不起」。
    结果呢?自己选输立法院,输不起,违法在选举结束之后不到一年之内,开始大罢免。

    操纵司法,操纵媒体舆论,为了掩饰自己贪污,诬蔑柯文哲贪污。
    迫害政敌,活活逼迫某夫人跳楼自杀。

    大罢免大便32比0,一席也没罢掉,倒是苛贱民下台滚出立法院了,真是大快人心,活该自找,天谴报应。

    一场大罢免,世界级闹剧,白费公帑12亿不说,某网红甚至自己承认自己「模仿希特勒」,组织冲锋队。

    你们根本不知道,也没有所谓「宗教自由」,有的只是「信仰邪教的自由」。谁不信邪教,谁就该死;谁敢批评执政党,谁就被肃清迫害。

  • 傻逼软件,傻逼作者,傻逼呆湾人

    Boycott Notepad++
    4
    -1 Votes
    4 Posts
    1k Views
    Lycan ThropeL

    @Fii-Ert said in 傻逼软件,傻逼作者,傻逼呆湾人:

    傻逼歹丸郎,大罢免大失败,柯建铭下台了,32比1🥳👍🎉
    只要中国不干涉台湾,我就完全不在乎台湾人民为自己选择何种内部政治体制——除非这种体制遭到了中国的干涉。那样的话,问题就大了。

  • JsonTools v5.5. is live!

    Notepad++ & Plugin Development
    23
    7 Votes
    23 Posts
    23k Views
    Mark OlsonM

    JsonTools v8.5 is now available on the plugin manager for Notepad++ 8.9.3. The main change is that ANSI-encoded documents containing non-ASCII characters can now be parsed correctly.

  • NppCrypt Plugin Not Installing

    Notepad++ & Plugin Development
    8
    0 Votes
    8 Posts
    2k Views
    PeterJonesP

    @Murray-Sobol-1 ,

    The links you pointed to were to the old 2017 pre-Notepad++-7.6 “Plugin Manager” plugin’s plugin-list. (There used to be a plugin which handled installing/uninstalling plugins in Notepad++. In v7.6, that was integrated into the core Notepad++ code, so that Don could make sure that the Plugins Admin always stayed compatible with Notepad++, rather than relying on a third party for such an important feature.) For nearly a decade, https://github.com/notepad-plus-plus/nppPluginList/ has been the home of the official list of plugins that gets shown in Plugins Admin.

    @pierrecoach ,

    More on the disappearance of NppCrypt and its repo can be found in this NppPluginList issue. I won’t re-iterate the details, since you can read them there if you are curiuos. But I will say that it looks like @chcg is going to try to resurrect the plugin from archives of the original source code; but it might take him some time. Until then, I’m not sure that any of the links given have any compiled DLL available. Hopefully, you don’t have any critical data that was encrypted on some other machine, that you need to decrypt with the plugin on this new setup. If you do, let us know… (Actually, if you do: do you also have access to the old machine? If so, you can copy the ...\notepad++\plugins\NppCrypt directory from the installation on that machine, and put it on your new machine.)

  • 1 Votes
    1 Posts
    49 Views
    No one has replied
  • Showing EOL characters

    General Discussion
    2
    0 Votes
    2 Posts
    120 Views
    PeterJonesP

    @DougB-MFY ,

    Not exactly, but you might get “close enough”

    With keyboard+mouse, the shift+scrollwheel would allow you to horizontally scroll without clicking (but having to use the scrollwheel isn’t truly “keyboard”) [END] [space] [backspace] seems to work for me, but it introduces a “fake edit” to get it, so that might annoy you

    One of those might be “close enough” for you. But there isn’t a keystroke that does it on its own

  • 0 Votes
    2 Posts
    123 Views
    PeterJonesP

    @Cletos ,

    Depending on what version of Notepad++ you were running, and what’s happened since you last opened Notepad++:

    Exit Notepad++ Use Windows Explorer to go %AppData%\Notepad++ You will have session.xml and hopefully a file called session.xml.inCaseOfCorruption.bak . Rename session.xml to session.after.xml Rename session.xml.inCaseOfCorruption.bak to session.xml

    Depending on the state, and how little you’ve done since you had the problem, and what version of Notepad++ you are running, that backup session might contain the ~100 txt files.

    If not (if there’s no session.xml.inCaseOfCorruption.bak , or if the copy there was written after your session got messed up), there is nothing we can do for you, as the backup session isn’t there. (Hopefully, those 100 txt files were all real files, not new 1 … new 100 with no saved changes ever – if they were, you can look in the backup subdirectory, but again, no guarantees the files are there).

  • 0 Votes
    22 Posts
    37k Views
    PeterJonesP

    As a reminder to all readers of this Topic, the Community Forum is “The Community of users of the Notepad++ text editor”, as it says in the footer of every single page here (emphasis added). As such, this is just users, talking about Notepad++ and helping each other other. Feature Requests are not tracked here. So all of these “I cannot believe it’s still this way” are effectively just complaining to other users; if that’s theraputic to you, fine; but it won’t tell the developer how many people are interested in that feature being implemented, so it’s just spitting in the wind, so to speak.

    We have a FAQ that explains where the Feature Request tracker is. And you could search there (in both open and closed requests) if you want to find the official issue(s) tracking such a request, and see how the developer has responded to such requests, if at all.

  • 0 Votes
    2 Posts
    103 Views
    PeterJonesP

    @Diederik858 said in I don't want grouped files when I open the download folder in Windows 11.:

    When I open the file explorer from Notepad++, I don’t want to have grouped files (day, month, etc.).

    When you open the file explorer from Notepad++, you are being directed into a Windows application, the Explorer. And, as such, it follows the Explorer settings for how any individual directory should look. It is exactly identical to you using Windows’ Win+R key and launching explorer "%UserProfile%\Downloads"

    As such, you would change the Explorer settings for the Download directory the same way you would from any explorer window (Explorer’s Sort > Group By > (None)) – but this isn’t Notepad++ advice, this is general Windows advice; as such, a Notepad++ forum isn’t the best place for further discovering Windows Explorer features.