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
      159
      6 Votes
      159 Posts
      50k Views
      CoisesC
      @guy038 said: What prompted me to suggest another solution is that you seemed really frustrated with how your plugin works, I do appreciate your suggestions, even if I don’t immediately adopt them as written. Anything you can tell me that sheds light on your experience with the interface and how it seems like it should work can help me find new solutions. Anyway, as you said, menus seem preferable. However, I still think that a layout with the six buttons Find, Count, Find All, Select, Mark and Show could be easier to use ( Personally, I’m ready to test a forked version, if you think it’s worth it ) This would simplify the number of menus : I can see how splitting the Find All button into four buttons (one each for Find All, Select, Mark and Show) would make the interface simpler, in that it would get rid of the need for sub-menus on those buttons. (And as you’ve pointed out, the [Do not] Jump to next match sub-menu on Replace isn’t really needed.) I’m not convinced yet, but it’s not out of the question, either. My “default scope” (or “adaptive scope”) notion is a kind of extension of Notepad++’s Settings | Preferences | Searching | Minimum Size for Auto-Checking “In selection”. Since the docking version of the Search++ dialog might rarely if ever be closed and reopened during a session (I leave it open all the time), just choosing the setting when the dialog opens wouldn’t be much help: I wanted something that adapts to changing conditions, but that the user can still override when necessary. And I wanted it to handle selections and marked text similarly. It’s meant to make it so that usually you can just click a button and have it do what you would want it to do.
    • donhoD

      Notepad++ release 8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      24
      6 Votes
      24 Posts
      7k Views
      PeterJonesP
      @RoxxiedaPunk said: my Notepad++ isn’t updating to 8.9.8. That’s because it was not triggered for auto-update. The downloads page at https://notepad-plus-plus.org/downloads/ will indicate the most recent auto-update version with “(stable: auto-update triggered)” or similar phrasing. As of today, 8.9.7 is the last triggered version. The manual explains the reason for not immediately triggering a new version for auto-update here: https://npp-user-manual.org/docs/upgrading/#no-new-version-found-safety-delay. In this case, there were some critical fixes needed, hence today’s v8.9.8.1 Release Candidate
    • donhoD

      Notepad++ Release Candidate v8.9.8.1

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      12
      2 Votes
      12 Posts
      768 Views
      donhoD
      @xmm852003204 said: Tried the RC this morning. I also don’t see the “Edit with Notepad++” right-click entry after install. Ran the regsvr32 command and hit that exact same DllInstall not found error. Win11 24H2 here. Before installing v8.9.8.1 RC, did you uninstall the old version of Notepad++, or you just install RC on a PC without any Notepad++ installation? Which installer did you use?
    • 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
      504 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
      679 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
      542 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 # ...
    • A

      Problem with inactive/unavailable Plugins Admin on v8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      8
      0 Votes
      8 Posts
      392 Views
      PeterJonesP
      @andrecool-68 said: All the mark of the web looks okay, and all the files are in the right place. I am not sure why it’s not working for you. With a similar installation, but 64-bit, I have no problems with Plugins Admin Admin mode: ON Can you try running not as administrator. That can sometimes mess up permissions, so maybe for some strange reason, your Admin has been denied privilege on one or more of the DLL or EXE files mentioned? installing the 64-bit 8.9.8 on that machine, instead of 32-bit, and see if it behaves the same? confirm that you don’t have this problem with v8.9.7 on the same setup First few experiments on my end: 8.9.8-64bit, non-Admin: my daily driver, and I use Plugins Admin frequently: [image: 1789590084696-dc568790-b6ce-4a3c-aaaa-422d9f5937c8-image.jpeg] 8.9.8-64bit, Admin: [image: 1789589967329-aeeef823-c099-463b-b884-00b51add713b-image.jpeg] 8.9.8-32bit, Not Admin: [image: 1789589989950-e94d8be8-7ade-4530-8536-01033d4d4e35-image.jpeg] 8.9.8-32bit, Admin: [image: 1789590011468-5247e7c8-2097-41fe-ad98-0ed554c34815-image.jpeg] So, so far, on my Win 11 machine, I cannot replicate with 64-bit or 32-bit, admin or no, with the portable (or the installed, for 8.9.8-64) Update Virtual Win 10 machine: Portable 32-bit: Plugins Admin is there, whether normal run or Admin Portable 64-bit: Plugins Admin is there, whether normal run or Admin Installed 64-bit: Plugins Admin is there, whether normal run or Admin Installed 32-bit: Plugins Admin is there, whether normal run or Admin [image: 1789591116798-5959e708-0015-4e87-8f3a-50f4928df7b7-image.jpeg]Notepad++ v8.9.8 (32-bit) Build time: Aug 23 2026 - 17:20:01 Scintilla/Lexilla included: 5.6.6/5.5.3 Boost Regex included: 1_90 pugixml included: 1.16 nlohmann JSON included: 3.12.0 Path: C:\Program Files (x86)\Notepad++\notepad++.exe Command Line: Admin mode: ON Local Conf mode: OFF Cloud Config: OFF WinGUp: present disableNppAutoUpdate.xml: absent Periodic Backup: ON Placeholders: OFF Scintilla Rendering Mode: SC_TECHNOLOGY_DIRECTWRITE (1) Multi-instance Mode: monoInst asNotepad: OFF File Status Auto-Detection: cdEnabledNew (for current file/tab only) Dark Mode: OFF Display Info: primary monitor: 1024x666, scaling 100% visible monitors count: 1 installed Display Class adapters: 0000: Description - VirtualBox Graphics Adapter (WDDM) 0000: DriverVersion - 7.1.8.18469 OS Name: Windows 10 Home (64-bit) OS Version: 22H2 OS Build: 19045.5854 Current ANSI codepage: 1252 Plugins: mimeTools (3.1) NppConverter (4.7) NppExport (0.4) I tried to get as close to your setup as I possibly can, and I still cannot replicate your problem. If what I have suggested to you to try doesn’t help, then you’ll have to wait for someone else to have some ideas. Good luck,
    • Keith CollyerK

      wireloom in markdown viewers

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

      [New plugin] Smart Math

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      7
      1 Votes
      7 Posts
      1k Views
      Vitalii DovganV
      Here are the latest binaries if you are interested: 32-bit: https://drive.google.com/file/d/1jmKaSU5YF2Hd2mHKAWDZyG4NDfx99Xnc/view?usp=drive_link 64-bit (x86_64): https://drive.google.com/file/d/1mrqNicsfjfJITmrfeHlG2WEzgHZdokI-/view?usp=drive_link
    • 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
      308 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.
    • donhoD

      Fake Notepad++ website

      Watching Ignoring Scheduled Pinned Locked Moved Security
      4
      3 Votes
      4 Posts
      751 Views
      xomxX
      @donho There seems to be another one: notepad-plus-plus . app I reported this too. GH issue: NPP brand impersonation website serving malware #18398
    • Roberts RozisR

      Feature Request: Find in Files > In all Subfolders > [nn] levels deep only

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      6
      0 Votes
      6 Posts
      1k Views
      guy038G
      Hello, @Roberts-Rozis, @Peterjones, @dennis-bulgrien, @coises and All, @Coises, I did some tests with my D USB key and with your Search++ plugin and the following generic regexes solve the problem nicely : So, @Roberts-Rozis and @dennis-bulgrien : Select The Plugins > Search++ > Search in Files... option Select your média (C, D, … ) on the left and don’t forget to check the Subfolders option and, possibly, the Hidden files option Select the Reg. exp. option for the Filter : type In the filter box : • For a search of any file, even WITHOUT extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+ • For a search of any file, WITH an extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\..+ • For a search of any file with the EXACT extension 'txt' or 'log' or 'ini', between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\.(?:txt|log|ini)$ You may also add a size and/or a date condition Of course, check your desired search options Finally, click on the Find in Files button IMPORTANT : Replace the letters N and M by true digits, with the condition N <= M. The M value may be missing ! The syntax of these regexes are specific to the Search++ These regexes allow any search in an arborescence, from level N minimum to level M maximum. However : You may search from level 0, if necessary You can go through all the structure with the 0, or the N, syntaxes Note that you can simulate the Search++ filtering mode by using one of the regexes below, directly in Notepad++ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+$ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\..+ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\.(?:txt|log|ini)$ Against the text below, that you’ll paste in a new tab : 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.txt abc\def\ghi\jkl\012.txt abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.ini abc\def\ghi\jkl\012.log abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt LICENSE abc\LICENSE abc\def\LICENSE abc\def\ghi\LICENSE abc\def\ghi\jkl\LICENSE abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\LICENSE You may also try, for example, the cases {0,3} or {0,} or even {4,}. Enjoy ! Best Regards, guy038
    • B

      Code is not working

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      341 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
      248 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
    • 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
      242 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
      215 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