• @young-developer
    https://github.com/young-developer/nppNavigateTo/issues/12 is a good one ! Great idea.

    About Options/settings form : what about working with a config file instead a GUI form ? GUI is always a nightmare to develop, maintain and make evolve.


  • @AngryGamer mm OK thanks. I do think I took that from a Google image search… On the 10th try to get the size right (so lots of copy right breaches out there I guess ;))

    As soon as this update is through certification I’ll do another to update that as well. New image I am playing with is on github.

  • @Scott-Sumner ahh i see. that sucks T_T

  • Hello Claudia,

    Thanks again for your kind help. Appreciated as always.

    Best regards.

  • Hi, @محمد-أشرف, @claudia-frank and All

    Ah, yes ! I forgot to tell that the last item of the list ( so the last 555 line , in your example) must be followed by a line-break !

    Everything should be OK !



  • Hello, @timmy-M, @claudia-frank and All,

    Sorry, again, Claudia… !

    I think, Timmy, that your goal can, easily, be achieved with a regex S/R ! So :

    First, open a new tab ( Ctrl + N )

    Then, copy all the Doc A contents in this new tab

    Now, at the end of the list, add a new line, beginning with, at least, 3 dashes ( --- ) and followed by a normal line-break

    Then, copy all the Doc B contents, after this line of dashes

    Open the Replace dialog ( Ctrl + H )

    Type in the regex (?-s)^(.+)\R(?s)(?=.*\R\1\R?)|^---.+ , in the Find what: zone

    Leave the Replace with: zone EMPTY

    Tick the Wrap around option

    Select the Regular expression search mode

    Finally, click on the Replace All button

    Et voilà !

    Notes :

    This regex is looking for a complete line, which is repeated, somewhere, afterwards, in the file

    When a match occurs, this duplicate line is, then, deleted

    Finally, the string --- followed by the totality of the Doc B contents, are also caught and deleted

    Note also that IF your list, in Doc A, already contains duplicates names, they are suppressed, as well ;-))

    Best Regards,


  • Nice easteregg right before easter.

    Current version of DspellCheck is https://github.com/Predelnik/DSpellCheck/releases/tag/v1.4.2 and it is stable on my system.

  • Hello, @robinson-george,

    No problem , George !

    A) :

    What does the generic (String|Text|Regex)(?s).*\K regex match ? Well, once you change the part (String|Text|Regex) with your effective text :

    First, the regex just matches your own text

    Then the (?s) modifier tells the regex engine that, from now on, any dot . will match any single character ( standard or EOL one )

    Thus, the .* syntax matches all text, after the first occurrence of your text, till the very end of each file

    Finally, the \K structure resets the regex engine search. So the final overall match is, simply, the zero length string, at the very end of each file

    So, the Find result simply displays the last line ( real or virtual ), where this empty string has been found !

    Et voilà !

    You may give it a try with the regex (?s).*\K, which should display, in the Find result window, the list of all the opened documents, loaded in the current N++ session, or all the files, involved in a Find in Files search, followed with the unique last line containing that zero-length string !


    Now, supposing that all your pathnames are of the form Letter Drive:\....\.....\FileName.Extension or, possibly, new ## ( but NOT as “network paths”, using the Universal Naming Convention syntax ). I, then, changed the regex to match some variants of paths, collected in the new tab !

    Thus, the global syntax, with possible spaces characters, in paths :

    ^[Any range of characters]Upper Letter:\... ....\...\... ... ....\File Name.ext[ (1 hit)]$

    is, now, supported by the new search regex. So, given the sample text, below, in a new tab, which could be the results of the the(?s).*\K search regex :

    Search "the(?s).*\K" (12 hits in 12 files) C:\MyMusic\The Best of ABBA (1970 hits)\Playlist.m3u (1 hit) Line 596: Any Char new 3 (1 hit) Line 16: C:\_755\license.txt (1 hit) Line 116: C:\Program Files\Notepad++\Tests\NativeLang.xml (1 hit) Line 596: C:\MyMusic\The Best of ABBA (1970 hits)\Nice song.m3u Line 345: C:\Program Files\Notepad++\Tests\MySecond File.txt (1 hit) Line 100: C:\Program Files\Notepad++\Lettres\George_3.txt (1 hit) Line 97: C:\_755\xxx.txt (1 hit) Line 12538: .¤B"¸?5ø{v\^ê× ª™ý=ú} ˆÑz¤4²GÏXð™°#B± C:\Program Files\Notepad++\Lettres\RegexDocum.txt Line 12894: C:\Program Files\Notepad++\Tests\My Third File.txt Line 100: 1234 C:\Program Files\Notepad++\Tests\MyFile.txt (1 hit) Line 856: 1234 C:\MyMusic\The Best of ABBA (1970 hits)\Test.m3u (1 hit) Line 123:

    The new regex S/R, below :

    SEARCH (?-is)^.*?(([A-Z]:\\|new).+?)(\x20\(1\x20hit\)$)?\R[^\r\n]+|^Search.+\R

    REPLACE ?1\1

    Would give the following 12 absolute paths, below :

    C:\MyMusic\The Best of ABBA (1970 hits)\Playlist.m3u new 3 C:\_755\license.txt C:\Program Files\Notepad++\Tests\NativeLang.xml C:\MyMusic\The Best of ABBA (1970 hits)\Nice song.m3u C:\Program Files\Notepad++\Tests\MySecond File.txt C:\Program Files\Notepad++\Lettres\George_3.txt C:\_755\xxx.txt C:\Program Files\Notepad++\Lettres\RegexDocum.txt C:\Program Files\Notepad++\Tests\My Third File.txt C:\Program Files\Notepad++\Tests\MyFile.txt C:\MyMusic\The Best of ABBA (1970 hits)\Test.m3u


    Beware that the regex (?-is)^.*?(([A-Z]:\\|new).+?)(\x20\(1\x20hit\)$)?\R[^\r\n]+|^Search.+\R expects the string (1 hit), when present. So, this regex must be performed ONLY on the results of the previous regex search ( (String|Text|Regex)(?s).*\K ), on multiple files !



    P.S. : As usual, things are harder to explain than to execute ;-))

  • @Irfan-Sheikh

    For sure a workaround, but holding down Alt+y (to answer “yes”) until all of these popups are closed could ease your annoyance. Maybe. :-)

  • If you’re trying to superscript text in Notepad++: you can’t.
    If you’re editing HTML/CSS source code in Notepad++: you’re in the wrong forum.

  • works great, thanks a lor Guy !

  • @CatMeat

    The issue with lexing/parsing is always when having “glued” characters, means
    how can a lexer/parser know that 100.0f is really the number and not 100.0f; ?

    As UDL can only parse the given string and can’t really do any lexical analysis,
    as it don’t know the language, we need to tweak,hack around such complications.

    In the given case, I would use = as an open and semicolon as closing char in a delimiter
    which is setup with the same color as the default color and allowing nesting with numbers.
    But this could be that it breaks other things, may I ask which language you are trying to build?


  • @Robinson-George said:

    but these contents are not persistent between multiple N++ invocations

    They persist for me between runs of N++!

    way to edit or at least clear this history, lest it would become very polluted

    It only saves a limited number of entries, so the “pollution” is minimal. It is possible to change the amount of history retained.

    BTW, the OP didn’t actually say this, but I think the desire is to have the corresponding Find what and Replace With data paired together so that they could be recalled for re-use simultaneously at some later time. This currently in no way exists–the history for these fields is independent.

  • @Lucio-Menci

    With regular expression search you control it via using \b (and/or \<, \>…sometimes even \B) in your search text.
    Read more about it here. But maybe that isn’t what you are commenting on…

    The Use Find dialog settings preference for Smart Highlighting doesn’t seem really useful, to me at least. I mean, I think it could be useful if you set the Find dialog settings one way and never change them (so Smart Highlighting always works the way you want), but then why not directly set the Smart Highlighting preferences?

  • @guy038 said:

    […] But, honestly, regarding my general behaviour to explore the WWW […] I’ve never been annoyed, yet, with viruses or security problems ;-)) […]

    It’s not about getting “annoyed”, like you say. It’s about supporting some guys clinging to “the old days”, refusing to adapt - look out your window, nature always did (and hopefully always will) deal in one simple way: adapt or die, period.

    @guy038 said:

    I’ve just liked, for numerous years, by now, to use Win XP, without the UAC restrictions and user rights problems or other similar goodies, which make things more complex that they should be !

    Seriously? Stating UAC and user rights are “problems” and “make things more complex” shows three things:

    You neither understand user permissions nor machine/user security — at all! You’ve probably never used any *nix-based OS. I’m wasting my time, trying to explain benefits to people only reading/seeing drawbacks when it comes to Microsoft’s most overdue action ever taken: implementing usable user account control in Windows prior to Windows 7 (I consider Vista as “Alpha-Windows 7”).

    @guy038 said:

    […] It’s just that I really like that “old good fellow” ( a NEC Versa 350, with Win XP SP3, though rather slow with its 1Gb of RAM, only ! )

    As stated above, I realize that I’m wasting time, but for the sake of completeness: that’s okay, but then also accept that (software) development moves on and your platform is dead. I wouldn’t even keep a device taking more than 30 seconds to get me to the login screen nowadays. But then again: your device, your time.

    @guy038 said:

    Don’t be mistaken ! It’s a problem of money and I just can go out home and afford, myself, a Win10 laptop, these next days !

    No, it’s not! Stop spreading such lies!
    AFAIK, up to mid-January, Microsoft offered its Windows 10 upgrade for free for any device having a genuine Windows 7 or newer. So, you had several chances to update any of your devices for free - even if it wasn’t equipped with Windows 7 upon your purchase, a new Windows 7 (even Professional!) costs less than 20 bucks as of now.
    You needn’t to buy new hardware in order to upgrade your OS as long as it’s not that old - and even if it was, put in a SSD to get a 10 times shorter boot time.

    @guy038 said:

    […] But I’m sure that I will think about this antiquity, with some nostalgia ( and also for an other simple reason : it would have been my laptop when I was young !! ) […]

    Nostalgia is the top reason for this whole mankind to be stuck in such a slow progression rate. We could be way further, if only mankind could drop its silly nostalgic behaviors. Don’t believe me? Take human languages as an example: is it really that hard to agree on one language (maybe even a new one, so nobody feels discriminated) so that everybody understands everybody without translation?
    And no, by unifying language I do not mean sacrificing your culture.

  • Funny enough: another same question.

  • Thanks!

    Version 7.5.6 corrected issue 2) above.
    So 2) and 3) are OK now.

Internal error.

Oops! Looks like something went wrong!