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
      6k 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
      147
      6 Votes
      147 Posts
      47k Views
      CoisesC
      @guy038 said: Regarding this specific point : 3-4 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)? May be I expressed my choice very badly ! Actually, I just wanted to say that the changes in the appearance of the various buttons ( Find, Count, Find All, Replace, Replace All )— which occur when you hold down the Shift key while clicking a button — would be visible immediately, in future releases, just by selecting the desired option, without needing to hold down the Shift key. Does this wording make more sense to you ? I see. I think I follow what you’re suggesting, but I have to admit I don’t like it. I don’t think selecting a function from the drop-down should always make that the new one-click action for the button. However… it could be an option. Enabling a setting like Buttons automatically change to last drop-down action would reverse the meaning of the Shift key, so that when you click an action in the drop-down menu it becomes the new action on the button, and you have to Shift+click if you don’t want that to happen. Is that what you mean? Seems like a good idea. Thanks.
    • S

      Multi line tab bar but with maximum X lines ?

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      13
      1
      0 Votes
      13 Posts
      758 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
      449 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
      634 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
      467 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
      333 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
      429 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
      319 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.
    • 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
      251 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
      285 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.
    • Afik GilboaA

      nppftp and and windows 11

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      11
      0 Votes
      11 Posts
      915 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.
    • Carlos SánchezC

      [New plugin] Smart Math

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      6
      1 Votes
      6 Posts
      979 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
      297 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 !
    • K

      Search & Replace syntax

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      228 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
      323 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
      249 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.
    • Thomas KnoefelT

      [New Plugin] MultiReplace

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      81
      3 Votes
      81 Posts
      85k Views
      Thomas KnoefelT
      MultiReplace 6.1 is out and will land in Plugin Admin with the next Notepad++ release. The focus of this release is Replace All in One Pass, running the whole list in a single left-to-right sweep instead of one full pass per entry, together with a reworked Find/Replace in Files and a handful of list and UI improvements. Several new options live under Plugins > MultiReplace > Settings. Download: Latest build Key Features & Improvements Replace All in One Pass: Runs the whole list in a single pass instead of one full Replace All per entry, so results build on each other left to right. With cat → dog and dog → cat, sequential mode turns “cat dog” into “cat cat”, one pass turns it into “dog cat”. Much faster on large documents. Toggle per tab, right-click the list tab. Use Open Documents: Find/Replace in Files can now work on files already open in Notepad++ as the live document, unsaved changes included, instead of the copy on disk. New checkbox in Settings. Skip Binary Files: New option for Find/Replace in Files (on by default), same detection as ripgrep and VS Code. Also adds UTF-16 detection without a BOM, and skipped files are always reported, broken down by reason. CSV Header Rows: Find/Replace now always searches header rows too. “Header rows to exclude” only protects sorting and duplicate detection. Collapse to File List: New Search Results dock option folding every search block down to just file names and hit counts. Ctrl/Shift-click works in the fold margin, same as Notepad++'s own Search Results panel. Library Mode: “Keep list always visible” can now be switched right from the Use List button’s context menu, no detour through Settings. Add New Row: Takes over the dialog’s current search options instead of starting all off. Find/Replace text still starts empty. Duplicate Row Reporting: A list row that exactly duplicates an earlier enabled one is skipped as before, but the status line now tells you how many rows were skipped. [image: 1789296944806-e15a9d23-6db6-4411-a694-d44fc95300e5-image.jpeg] Issues or suggestions: GitHub. Happy replacing!
    • Charles BillowC

      Set or change the default font in NP++

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      198 Views
      PeterJonesP
      @Charles-Billow said: I see how to change fonts etc. for the document I am working on, but how do I change the default font/size/ and zoom level as the default for all new documents? The way you phrased that makes me think you might not understand what a text editor is. Text files are stored as the raw text: no individual text file / text-based-document has any concept of its own font or font-size. It is just text, and it is up to the text editor to decide what font or size to use. If you set Notepad++ to use a specific font or font-size, using the dialog that @markusbodensee shared with you, that will affect how Notepad++ displays it, but MS notepad.exe or VS Code or gvim will all use their own font and size, because it’s up to the app, not the file, what font and size to display text in. If you’ve changed the font and size that’s used “in the current document” in Notepad++, you’ve changed the font and size for all documents, new or old, in Notepad++. As far as Zoom level goes: Notepad++ remembers your previous zoom when you exit. But if you’ve set a reasonable font size as your default, then zoom should normally be at 100% (which is the default if you haven’t zoomed in or out yet). If you’re to the point that you start thinking you want to have the default zoom bigger or smaller than 100%, then think to yourself: do you really mean that you should change the font size bigger or smaller, instead? (Then again, some people are still killing trees from their text editor, so if you’re printing to paper, maybe you have one of the few use cases where it makes sense to use a smaller font but larger zoom, or vice versa.)
    • FranciscoF

      rename files

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      178 Views
      guy038G
      Hello, @francisco, @gerdb42 and All, There are plenty of solutions ! The following one will ensure that the . matches newline option will not be used even it’s checked and that the Match case option is enabled even it’s not checked ! FIND (?-si)_.+(?=\.txt) REPLACE Leave EMPTY Best Regards, guy038