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
    • donhoD

      Notepad++ release 8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      24
      6 Votes
      24 Posts
      5k Views
      PeterJonesP
      @GrobiDev , I assume you are using scoop, or some other package manager that uses junctions in the path to Notepad++. v8.9.8 introduced an issue where that will not work. It has already been fixed in the codebase, so the next version will not have that problem (release candidate for v8.9.8.1 should be soon). In the meantime, you can go back to v8.9.7
    • CoisesC

      Search++: A work in progress

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      140
      6 Votes
      140 Posts
      46k Views
      guy038G
      Hello, @coises and All, So here are my thoughts on the various points you raised in this post. Of course, these opinions are my own and do not reflect the views of anyone else ! Regarding the obvious missing features : You said : Implement Replace in Files in the Search in Files dialocg. I’m very interested in this feature because the search function is already very flexible: searching by size or date, or selecting files using regex => Thus; this would allow for highly customized replacements ! You said : Ability to save and recall search strings. I’d lean toward a configurable number of items, between 1 to 30 maximum, in the history, which, in my opinion, would not be used very often, if the saving S/R feature is implemented ! You said : Would the ability to “pin” history items be useful? (Simpler and faster than a save process.) Personally, I think that saving S/R is preferable ! You said : For saving I’m thinking of controlling that through a dialog that would let you name what you save, so you would then recall it by name. Saving would save the Find and Replace strings and the associated settings. It would have to be possible to edit, rename or delete a saved search as well. Recalling would probably be by selecting from a flyout on the right-click menu. Thoughts? Is that too complicated? I’m globally very much in favor of this system ! You said : Should the regular dialog (for searching in documents) and the Search in Files dialog share a single set of saved searches? The type of search and replace performed on a set of files is generally different from that performed on a single file or on a few files opened in an Notepad++ session => Therefore, if possible, the use of two separate lists would be nice, but don’t bother too much about it ! Regarding the features under consideration : You said : 1 Context in search results: that is, showing one or more lines before or after the line(s) containing a match. This would be optional and configurable, but a tricky question is whether it is sufficient to configure it before the search or whether you should be able to request context — either for a specific match or for all matches — directly in the search results window, after the search. Personally, I suppose that asking for 1 to 5 lines before / after the context, once the search ended, should be sufficient ! You said It seems like it would make sense for this to be available for Show actions, too. Yes it would. I agree with your opinion ! You said : 2 Warn or block when characters used in the find or replace fields are inconsistent with the character encoding of files to be searched. (Right now find proceeds without a warning, and replace uses the substitution character, usually a question mark.) I would say : displays a warning and tell that any non encodable character will be replaced with an interrogation mark ! You said : Find is tricky, because I would have to parse the regular expression to attempt to determine whether the inconsistent characters are required for a match (so no match is possible) or whether they are only required by some alternatives (which might be intentional, if the same expression is used with files in different encodings). Is it worth doing at all? Would a warning (so I didn’t have to parse, since you could just say to search anyway) be more annoying than helpful? The more simple , the best ! Don’t analyze files first : just put a warning, before the search, that any non encodable character will be changed into an ? symbol, within the Search++ results panel ! You said : Replacing can also be conditional, so do I try to detect that, and if it’s conditional, only warn or block if it actually happens? If replacing in multiple files, it could vastly slow down the process if I have to examine each file first to determine its encoding before beginning the actual replace operation. Is it worth it? Or do I only raise the warning if and when I encounter a file that can’t do the replace as written? As above, just a warning, before the replacement, that any non-encodable character will be replaced with a ? symbol ! You said : 3 In the main search dialog, when the default action is active for a button (e.g., Find, Count, etc. without a scope qualification like “in Selection” or “in Marked Text”), somehow indicate what the default action would be if you pressed the button right now. That is, Find adapts to work in selection if you have a selection large enough, or in marked text, or in the whole document, but what will it actually do right now? This feels like a big missing thing to me, but I’m a bit stumped as to how to indicate it. If a put a general indicator somewhere (it will always be the same for all buttons with default scope), where, and how should it appear? I am very hesitant to take up additional space in the dialog, or to make it any more “busy” than it already is. If I show it on each button, how would I distinguish it from the marker that tells you the direct action for the button is a command with a specified scope? (Remember, this has to work for any dark mode color combination the user might pick, and some users are colorblind.) Would it be better to show it on the buttons and remove the ability to select an action with other than default scope as the action for a button by shift-clicking the drop-down menu? Does anyone even realize they can shift-click the drop-down menus (the only way to know is to do it by accident or read the help)? Personally, I’m rather in favor of your last point. That way, we would know exactly which operation has just been performed, and it would be really helpful when pressing the Search button , on the right of the Search++ panel — which would clearly indicate whether we’ve selected : a list, a selection, a mark, or just the results of a search ! You said : Figure out how to modify Boost.regex to get rid of the dreaded “complexity” message. Make progress responsive during a search (not just between finds, as it is now: Boost.regex as built has no progress callback, so you can only estimate progress after it succeeds or fails to find a match, not while it’s working) and let the user cancel if it’s taking too long. I do not think this point is essential. Check out my post at https://community.notepad-plus-plus.org/post/106252. Apparently, for certain regular expression searches, this specific message, about complexity, may appear (even though the result is correct) when the scanned file contains an average number of lines, with nice results for smaller files and an error for big files ! You said : 5 Figure out how to modify Boost.regex to support Unicode word boundaries, and extend that to plain text searches by translating them into regex searches. (Unicode word boundaries recognize that sequences like “can’t” are a single word; for example, if implemented, a whole word match for “can” wouldn’t match the first three letters of ”can’t”; at present, it does.) This point does not seem essential either, at least at first ! You said : 6 Implement “Unicode compatibility forms” matching. This means being able to search for something like “naive” and have it match “naïve” (or vice versa). I think I would only attempt to implement this, at least at first, for plain text searches (which would be translated to a regular expression the user would not see). This option seems interesting, and I’m definitely in favor of it! Regarding the Deficiencies and bugs : You said : 1 Personally, I really like the Show function. It hides all lines and then shows the ones that have matches, also marking the matches. A bit like a Find All with the results list right in the document instead of in a tiny little window at the bottom. But there are problems. I use Scintilla’s hidden lines feature directly. Notepad++ also uses that feature, but it doesn’t provide a way for plugins to use it through Notepad++, and it keeps internal status information that assumes only it is using hidden lines. There appears to be no way to make Notepad++ synchronize its own idea of which lines it thinks are hidden with the actual state of Scintilla. Various bizarre things happen because of this. That leaves me with four choices, none of which are great: Remove the Show function entirely. Accept that if you use Show, unintended and illogical things can and will happen. Petition Don to provide a way for plugins to use hidden lines without confusing Notepad++, which might not be accepted, would probably take a long time even if it is accepted, and even when completed would mean this would only work correctly on versions of Notepad++ at least that new. Get “creative” and look for some back-door, hacky way to fix it (which might or might not be possible, and might break without warning when Notepad++ changesc something). I would keep option 2 ( Accept the SHOW feature as is ) and, eventually, ask @DonHo about the hidden lines ! You said : 2 Keyboard navigation in the Search++ dialog (the main one that can be docked, not the Search in Files dialog) is clunky and not comprehensive. There’s no straightforward way to invoke something like “Select in Marked Text” without using the mouse. There’s a setting to focus the document after stepwise Find and Replace, but if you check that then there’s no way to do the next Find or Replace without switching back to the Search++ dialog first. The only way I can think of to manage that would be to add two more menu items, which you could assign to free keyboard shortcuts… as if anyone has any free yet memorable keyboard shortcuts. Doing repeated Find actions while being able to edit immediately in the document after a Find seems like a common task. It should be natural and fluid, but it isn’t. I didn’t quite understand this specific point. Personally, I do not see any major difference between whether or not to enable the Focus the document after option named : stepwise Find and Replace commands ? Could you clarify this for me ? You said : 3 For Search in Files actions, there is presently no warning about files that are open in Notepad++; the files are processed on disk. This will be more critical when Replace in Files is implemented. My thought is to present a warning, with OK and Cancel options, noting that Search in Files only processes files on disk. Note that for Find in Files, the impact is that files that were open with changes would search based on the data on disk, not the live version of the document. Documents that are open in Notepad++ (with or without changes) and are also changed on disk by Replace in Files would show a “File changed” notification when activated in Notepad++. Because of the way Search in Files works, it would be complicated to treat files open in Notepad++ differently, but is that something that is really important… important enough to go ahead and make the code more complicated in order to do it, so that files open in Notepad++ are processed as open documents and not as files on disk? As I mentioned in a previous post, because of your multithreaded approach, you need to scan the files stored on disks. This is not a problem for me, as long as it’s indicated by a warning that could be dismissed until the next time Notepad++ is opened. You said : 4 The date selection controls in the Search in Files dialog look awful in dark mode. Unfortunately, it turns out the Windows control I used is just about impossible to render in dark mode. (At least, I haven’t found a single example in open source of someone doing it successfully.) So I expect to replace it with something simpler, more like a text control with a drop-down history, where you just type the date. Would it be useful to be able to enter the time, and not just the date, to limit which files are examined? I do not think it’s necessary to include the time, since a specific date has already been selected : the search would then be limited to files from a given day, which doesn’t seem like an insurmountable challenge ! You finally said : Would a single universal format (yyyy-mm-dd) be good, or is it an important user amenity to be able to enter dates in your locale format (e.g., mm-dd-yy in the US, dd-mm-yy in most other places)? Would you miss the drop-down calendar control? Would you miss having up/down arrows (spin control) for the elements of the date and thus needing to type the numbers to change the date? Does anybody even think the date filter is useful in the first place? Do I need a way to take a date from a specific file, rather than the user knowing what dates are wanted, to make it useful? Technically speaking, using the universal format (**`yyyy-mm-dd**), in text mode, would certainly be easier to implement and would also ensure correct display in both modes ( light and dark ) ! Of course, a reminder of the syntax to use would be necessary ! Best Regards, guy038
    • S

      Multi line tab bar but with maximum X lines ?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      13
      1
      0 Votes
      13 Posts
      751 Views
      PeterJonesP
      I simply don’t have the mental space to go through all these documents and give them names and save them and do all the things. I will get there eventually. Then you will likely lose data. But I also observe that my friends are in the same boat, whenever we need scratch space to write something down, we double click on an empty place on the tab bar, a new tab appears, then data is written and pasted and so on… And then click Ctrl+S and save to a meaningful location, while it’s still fresh in your mind. It’s really easy to add that to your mental workflow. I have many old notepad++\backup folder strewn all over the place Crazy. Those are temporary backup folders, and if you’re keeping them as long-term storage, you are asking to lose data. It is a huge burden to handle and search these. When I need to search my stuff I use Voidtools Everything Why not first, copy all except the active (2026-08-19) backup directory, copy them to a known folder in one location – if you need to, make it a hierarchy, like c:\some\path\old-npp-unsaved\, and then have 2022-08 and 2022-12 and 2026-03 and 2024-01 as subdirectories, if you want/need to keep them separate; or, since every file has the datestamp in it already, just put all the contents of each of those in the same c:\some\path\old-npp-unsaved\ … Then, when you need to search your old backup archives, they are in one easy location. And you can just use Notepad++'s built-in Search > Find in Files, with Directory = c:\some\path\old-npp-unsaved\ and ☑ In all subfolders, then just enter your search term in the FIND WHAT box. But getting back at the current matter, I would like to see more of my tabs, on more than one row but not see all of them at once, which blots out all the reader space. So put in a feature request, as described in our feature request FAQ. I was just warning that it might be harder than you think, or there might not be anyone wanting to do it. But since @thomas-knoefel seems to have an idea for an implementation, then there’s likely to be a PR sometime soonish after you put in the feature request, and then it can quickly get reviewed by the developer. It might even make it into v8.9.9 (it’s too late for v8.9.8, since that’s in Release Candidate), but that means it might actually make it soon. https://superuser.com/questions/153109/is-there-a-way-to-manage-tabs-efficiently-in-notepad [image: 1787241672999-4cb4cf53-2459-4854-bdea-040b96b9ef5d-image.jpeg] I tried finding this in my installation but could not figure it out. Seems that it is buried somewhere in the menus, which would make making a habit of using it difficult. The SU answer was originally from 2010 2013, and then edited in 2015, so the description is confusing, especially in 2026. The Session Manager that they mentioned is not “built in”, it is a plugin. Notepad++ has simplistic native sessions, but nothing to the capability of the Session Manager that they were talking about. To install it, the “Plugin Manager” that was described in 2015 hasn’t been compatible with Notepad++ since v7.6 in 2019. Looking at questions and answers from a decade ago aren’t necessarily going to work in modern Notepad++. Instead, that old plugin manager tool was replaced with the builtin Plugins Admin instead in 2019. And the Session Manager plugin that the ancient SU answer referenced does still exist: you can install it using Plugins > Plugins Admin One thing I really which is to also have the ability to have multiple notepad++ window, like multiple firefox windows. That feature has existed for more than a decade (as I said here, just yesterday – why are people just now discovering the multi-instance capabilities, when it’s essentially always been a part of Notepad++). As was said in yesterday’s conversation, you can drag a tab out into empty space, and it will create a new instance; or, not mentioned yesterday, you can use the right-click context menu on a tab then Move Document, or equivalently use View > Move/Clone Current Document…, to then pick Move to New Instance, and it will open a new Notepad++ window. Or at least have floating notepad++ window with just one tab. This would make my life easier organizationally ! Saving files would make your life easier. The thing I find is that if I have something to write, and it’s urgent, I can’t give it a title, a filename or save it, I have a hard time explaining why those extremely easy things are so hard for me, but I simply cannot. You can, actually. It might take a little retraining, but even an old dog can learn new tricks. The ability to “just write” is probably one of the thing I love the most about notepad++ and I wish it were even easier to “sprawl” even more but that it would help me with staying organized without me having to start organizing it. Hopefully, your AI will be able to help you… though I am doubtful of it. Still, I highly recommend setting up true backup, version control, and a saving system going forward, otherwise you will lose data, and there’s nothing that Notepad++ can do to save you from your current risky behavior. Good luck.
    • B

      Why headings are not displayed in the function list menu ?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      1
      0 Votes
      11 Posts
      428 Views
      B
      @PeterJones Thank YOU so much I copy Your overrideMap & udl_markdown in my folder and problem is solved. I wish program by default have this option. Thank you again dear Peter
    • Neculai I. FantanaruN

      REGEX: Change the name in reverse order

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      0 Votes
      11 Posts
      630 Views
      Neculai I. FantanaruN
      @guy038 I can creat a Python script :) but the beauty and art was finding a solution just with regex.
    • PeterJonesP

      Testing nppPluginList for new/updated plugin

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      8
      0 Votes
      8 Posts
      458 Views
      rdipardoR
      @PeterJones said: If you’ve got steps that work for doing a local debug build, that would be helpful. > where cmake C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe > type .\build_gup.ps1 param ( [string]$Configuration = "Debug", [string]$Platform = "x64" ) if (-not $(Test-Path "${PSScriptRoot}\wingup\.git")) { git clone --single-branch https://github.com/notepad-plus-plus/wingup.git wingup } try { pushd "${PSScriptRoot}\wingup" $CmakeArchParam=$(if ("$Platform" -imatch "x86") {"Win32"} else {"$Platform"}) $LibPlatform=$(if ("$Platform" -imatch "Win32") {"x86"} else {"$Platform"}) cmake -S ".\curl" -B ".\curl\build\$LibPlatform" -A $CmakeArchParam ` -DBUILD_SHARED_LIBS=OFF ` -DCURL_STATIC_CRT=ON ` -DBUILD_CURL_EXE=OFF ` -DCURL_USE_SCHANNEL=ON ` -DCURL_USE_OPENSSL=OFF ` -DBUILD_TESTING=OFF ` -DUSE_LIBPSL=OFF ` -DCURL_USE_LIBPSL=OFF ` -DUSE_NGHTTP2=OFF ` -DUSE_LIBIDN2=OFF cmake --build ".\curl\build\$LibPlatform" --config $Configuration pushd vcproj msbuild GUP.sln /v:m /p:configuration=$Configuration /p:platform=$LibPlatform popd } catch { $_.InvocationInfo.PositionMessage; $_.Exception.Message } finally { popd } > powershell .\build_gup.ps1 Debug x86 # ...
    • Keith CollyerK

      wireloom in markdown viewers

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      7
      0 Votes
      7 Posts
      305 Views
      rdipardoR
      @Keith-Collyer said: I ended up adding a request to the markdig library here: https://github.com/xoofx/markdig/issues/952 👍
    • L

      ASCII Sort Order

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      7
      0 Votes
      7 Posts
      420 Views
      L
      @PeterJones, Thank you for your considered (and considerate) engagement. I actually hesitated to respond with my comment about the 70s and 80s, pretty sure I would get what you gave, but I couldn’t resist—I’m old (83 next month). Anyway, thanks again for putting up with me. …lee
    • Neculai I. FantanaruN

      Add Increment Number (part 2)

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      7
      0 Votes
      7 Posts
      311 Views
      CoisesC
      @PeterJones said: PeterJones said: I assume the Search++ syntax would be the same Per the Search++ announcement, it can do the numeric calculations that were first developed for Columns++. I should update the FAQ soon… I recommend waiting on that update. Search++ is not “production ready” yet. People shouldn’t be using it at present unless they want to be beta testers. Once I reach a 1.0 release I’ll make a serious effort to avoid changing things that people would expect to stay the same, but right now, anything could be changed at any time. Numeric expressions in Search++ do not have quite all the features of numeric expressions in Columns++; in particular, the history options (using the values captured or computed in a previous match) aren’t supported in Search++, and the exprtk return statement isn’t supported. However, I think all the features directly cited in the Math FAQ are included. The reg(1) syntax still works, but in Search++ you can use $1 as well. However, a quirk is that since Search++ doesn’t have the persistent Decimal separator is comma option of Columns++, it’s necessary to use regc(1) or $$1 for European-style numbers with periods and/or commas. Finally, Columns++ can only work on the active document. Search++ has a Find in Files option, but Replace in Files has not yet been implemented. So if your guess was correct and @neculai-i.-fantanaru wants a regular expression because it must be applied to many files at once, @thomas-knoefel’s MultiReplace is the best choice among presently-existing options. Oh, and MultiReplace has recently added an option to use exprtk formulas as an alternative to its Lua syntax.
    • Afik GilboaA

      nppftp and and windows 11

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      11
      0 Votes
      11 Posts
      910 Views
      xomxX
      @Afik-Gilboa said: both of them have the “run as administrator” unchecked. so any ideas why it keeps opening in admin mode? apparently everything running as administrator here, not sure why but it’s everything… I recognize the symptoms - you probably have turned off the Windows UAC completely somehow and at the same time the account, you are logged in, has the administrator rights (then everything launched will have the admin rights as default). Check your Registry for EnableLUA REG_DWORD 0x00000000 in: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] (click on Windows Start, start typing “Reg” there, click on the Registry Editor (System) app offered and navigate there to the hive path above) If there is that 0x00000000 (OFF), change it do 0x00000001 (ON) and restart your PC.
    • M

      is there a way to save a file as .srt?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · saving files srt
      6
      0 Votes
      6 Posts
      234 Views
      CoisesC
      @Midnitecata said: @PeterJones thank you for your help, ill probably steer clear of it just out of caution, but i might look into it further should the tedious formatting inconvenience me enough to learn how to spot malicious code! thanks again!! :) Just a side note to this discussion: While you certainly can manipulate *.srt files in Notepad++ (and I do on occasion), for most purposes the free and open source program Subtitle Edit (found here on GitHub) is much easier to use. It has many functions for doing things like shifting times, identifying likely errors, and so on. Before working too hard to find a way to do something with a subtitle file in Notepad++, I recommend checking first to see if Subtitle Edit already knows how to do it.
    • J

      UDL: set multicharacters delimitators/keywords that also accept escaping characters to neglet

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · udl udl folding
      5
      0 Votes
      5 Posts
      278 Views
      PeterJonesP
      @Jacopo-Remondina , I am still not sure what you want for FOLDING and what you want for KEYWORD and what you want for DELIMITER and what you don’t want detected at all. But at this point, I’m guessing that what you want is too complicated for the simplistic keyword/token matching used for UDL. For FOLDING, it’s designed to either match spaces-not-needed so the open/mid/closing all don’t require spaces, or to match spaces-required so the open/mid/closing all do require spaces; it is not meant to mix, so that the open doesn’t require spaces but the close does. The easiest workaround is what you already know: enumerate them all. I don’t think you’re going to find a better solution.
    • P

      When finding in files is it possible to show more than one line?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      10
      0 Votes
      10 Posts
      630 Views
      PeterJonesP
      So if I search using (?=.*Error)(?=.*Foobar1)(?=.*Foobar2) With regular expression and newline checked. I do see it boil down to the files I am interested in. My only other need is to see all the lines associated/contained with the AND. … The first table in the FAQ is just showing the logic for matching all of those terms. Later down in the FAQ, there is another table which explains how to find the exact line that matches all of those terms. In your case, the AND would be (?-s)(?:(?=.*Error)(?=.*Foobar1)(?=.*Foobar2))^.*(?:\R|\z) [image: 1787010625218-59c19de8-1eb3-41e3-9fd1-14abdcb43053-image.jpeg] or, using the Find Results via Find All in Current Document: [image: 1787010757984-6f1d47c5-0787-4257-91c0-22189e1d79fc-image.jpeg] dummy example file to show it working: Blah Error Blah Foobar1 blah Foobar2 Blah Warning blah Football1 blah Football2 Blah Foobar2 blah Foobar1 blah Error order doesn't matter Blah Error blah Foobar1 blah Footbark2 won't match because it doesn't have all three
    • M Andre Z EckenrodeM

      Search++ (\W)'(\w) regex replace failure

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      49
      0 Votes
      49 Posts
      5k Views
      M Andre Z EckenrodeM
      @Coises said: I expect that Version 0.6.5 will fix this. Noted, thanks again, and I’ll let him know — although he actually doesn’t typically use regex for his own purposes.
    • Carlos SánchezC

      [New plugin] Smart Math

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      6
      1 Votes
      6 Posts
      972 Views
      Vitalii DovganV
      Now the plugin supports the Dark Mode by means of “SmartMath_Dark.udl.xml” (in addition to “SmartMath.udl.xml” which is the light one) and automatically applies either light or dark one. This is achieved by listening to NPPN_DARKMODECHANGED and requesting NPPM_ISDARKMODEENABLED to understand whether the dark UDL or the bright UDL to apply. A screenshot: [image: 1788983575005-055b172d-4091-4e16-a090-23e678758707-image.jpeg] Feel free to propose better colors if you are good in that :) The UDLs are here: https://github.com/d0vgan/npp-smart-math/tree/feature/powerful-calc/Notepad%2B%2B/userDefineLangs
    • B

      Code is not working

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      274 Views
      guy038G
      Hello, @blake-g.-barrington, @peterjones, @coises and All, Here is my version to get duplicate lines, separated by any number of lines ( whatever they are : true empty lines, blank lines or lines with text ), even zero line : MARK (?-si)^(.+)(?=(.*\R)+\1$) As said by @Peterjones, and after some tests, this kind of regex get into trouble when the bunch of lines, between two duplicate lines, exceeds 15,000 empty lines about ! Now, Let’s suppose you create this text file : first 0002 0003 0004 0005 .... .... .... 9997 9998 9999 10000 first Then the (?-si)^(.+)(?=(.*\R)+\1$) regex returns : Correct result until the number of the in-between lines does not exceed 1,600, with the message 1 match in entire file Correct result until the number of the in-between lines does not exceed 12,000, although the error message Find Invalid Regular Expression ( So F.I.R.E. !! ) occurs ! NO result at all if the number of lines is over 12,000 lines, with, of course, the error message Find Invalid Regular Expression Best Regards, guy038 P.S. : I should add that my Windows11 laptop has 32 Gb of memory !
    • cosmic-hyenaC

      adverts on download page?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      6
      0 Votes
      6 Posts
      443 Views
      cosmic-hyenaC
      @PeterJones I sent him an email but got no reply. Overall I’m a bit disappointed with this. I think for all his good intentions he’s allowing a strong chance of people accidentally clicking on these malware links, Got nothing more to add. Thanks.
    • K

      Search & Replace syntax

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      224 Views
      CoisesC
      @KRadiants said: 1: False on both counts. Here is an example line <attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,2,0,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,4,0,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/> There is a blank before, and sometimes there is something before and/or after it Otherwise, this is correct. OK, so in this example you want to end up with: <attribute id="Selectors" type="LSString" value="SelectSkills(ed664663-93b9-4070-a54b-3c7b19c0e7b4,3);SelectSpells(61f79a30-2cac-4a7a-b5fe-50c89d307dd6,BardCantrip,,,AlwaysPrepared);SelectSpells(dcb45167-86bd-4297-9b9d-c295be51af5b,BardSpells);SelectEquipment(aab8c5b5-eacf-4867-8e5f-bd4de3a9132e,1,BardInstrument);SelectAbilityBonus(b9149c8e-52c8-46e5-9cb6-fc39301c05fe,AbilityBonus,2,1)"/> ? If that’s correct, try the same expression I suggested before, except remove the ^ from the front: Find what: (SelectSpells\([\d\-abcdef]+),\d+,\d+ Replace with: $1
    • A

      User defined language seems to support only one extension

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      1
      0 Votes
      4 Posts
      321 Views
      PeterJonesP
      @André-Programmeren said: As far as I remember I stopped and re-started Notepad++ Notepad++ saved it’s current language for that file (plain text) in the session config, then used that saved session config when you restarted. (This is a critical feature when one extension can have multiple meanings, and you have overridden the default language for a particular file) OTOH, if you close the file, Notepad++ discards meta-information, like what language was previously served, and so re-applies its internal rules and will see the UDL extension when you re-open the file.
    • M

      How to multiline regex find + replace a block of code that varies across multiple files

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      245 Views
      M
      @Coises Thankyou so much, I had two question marks near the end of the code block I was replacing with that I hadn’t escaped, so the code got cut off there. I’d blindly assumed NPP’s find and replace didn’t care about escaping because the code is full of all manner of forwardslashes, colons, and angle brackets and they posed no issue.