I continue to use Notepad++ despite having tried every other editor and IDE under the sun. This, of course, drives every person completely insane when I explain that my "IDE" is:
- Notepad++ for editing, pretty much stock, no plugins
- command line for git and grep (Console2 or Git Bash)
- File Explorer alongside Everything [0] for navigating files
- Beyond Compare [1] for visual diff/merge
- WinSCP/PuTTY for SFTP/SSH (usually to Linux)
- Synergy [2] for sharing keyboard and mouse between Windows and MacOS
I personally enjoy being in all 3 major OS's at the same time, and find it helpful to separate concerns to their respective applications/interfaces -- it helps me keep a mental geography of "where things are" and "what tool is used for which purpose", rather than being beholden to a IDE-dictated workflow or tool that's obscured behind specific UI patterns.
That said, I'll happily use Handbrake over command-line ffmpeg for a lot of things, so obscuring behind UI isn't always a bad thing.
I think I'm one of the last people using WSL1. I think everyone jumped to WSL2 because 2 is bigger than 1, but they're really different things. WSL1 lets me keep my files on the Windows side, let's my IDE (PHP storm) remain performant with no Linux to Windows file system overhead, but I still get to use all the Linux CLI tools. I still pay some overhead for that, but it's better than doing it the other way around and paying for every keystroke in my IDE.
What I really want is a damn good Terminal/Emulator for Windows AND Linux that can run the same set of tools with zero overhead. Boggles my mind that everything is slow and janky to this day.
I was like you until last year. I did all my development from Emacs on WSL1, writing mostly Windows-specific code (DCOM). I maintained a set of brittle hacks to allow me to drive Windows side CMake and MSBuild straight from Emacs, and then run LSP on compile commands from Clang tricked into thinking it's cross-compiling. It held up surprisingly well.
Eventually, I installed a WSL2 distro so I could run Docker, then I had to reimage the machine because corporate reasons, and then, with my work involving less Windows-specific code, I decided to not recreate my pile of hacks, but start with a fresh WSL2 setup. It works well enough, so that's what I use now.
FWIW, I always liked WSL1 more. WSL2 is basically just more streamlined VirtualBox setup; WSL1 is magic.
WSL1 is a subsystem on the NT kernel, allowing Linux binaries to run natively on Windows itself (not a virtual machine). It's the spiritual successor to Interix, that showed up in NT 4.0 and was removed in Windows 8.
The flip side is Wine, allowing Windows binaries to run natively on Linux.
Completely off topic, but I was a Linux user for years, then I had to use Windows with WSL2, and it was a constant struggle.
I recently switched to a Mac M3, and oh boy, it is a pleasure to use.
No more fighting the Windows/WSL divide, slowness and command line tools.
Also M3 is a really fast beast.
Yeah I switched from cygwin to msys2 a few years ago, it works quite well for most things, seems a little slow when scripting though, as windows process forking is slow af. It kind of pushed me to learn a lot more python and switch over from bash which was my primary scripting language for various tasks, msys python is roughly as fast as straight windows python install
I still run one distro on WSL1 - the fact it shares network with "main" Windows helps me to do simpler TCP proxying when needed. So you are not alone ;) While WSL1 is nothing bad, the most of things I do involving WSL happens in WSL2.
Not to say you are doing something wrong - whatever suite your needs. For me, WSL2 provide Linux tooling, i.e. systemd, which WSL1 just cannot by design. The very same way managing system as I do on servers.
When it's possible/makes sense, I do run gitlab-runner in my WSL2 for easier builds debugging, when setting up new projects for programmers - comparing to 250-300+ ms latency working on remote hosts, it's often much more productive.
Basically stable Linux without fighting with Linux-on-desktop-year-to-come.
I mainly remember (mostly) not wanting to install it because of the so many weird things it does, or rather it did when I last used it more than a decade ago (including strange NTFS ACLs to emulate POSIX permissions).
What do you mean "remember"? It still makes using the command line in Windows tolerable. And yes, I am familiar with PowerShell, and NO I'm not interested in using it.
Wait what? I'm not a Windows user, so I haven't used any version of WSL, but WSL 2 doesn't store the files on the Windows side? It seems to me that the whole "easy access to your Windows files in a Linux environment" was the point of WSL.
WSL1 is really just a new system call interface for Windows.
WSL2 uses "disks" emulated via image files that are stored as ordinary Windows files (but in a secret place). This makes most file I/O from inside WSL2 faster than from inside WSL1.
WSL2 can use the Windows file system (and vice versa) via file servers.
When a Linux app inside WSL2 wants to use a Windows file, the Linux kernel (there is only ever one for all running WSL2 images!) talks to a Windows app that does the file serving.
When a Windows app wants to use a Linux file from a WSL2 image, the image first has to run (might take a little while for it to boot) and then a daemon there serves the file to the Windows app.
I think one of the file servers use a version of the 9P protocol. Maybe they both do.
With the benefit of Linux and its filesystem being super (natively) fast in WSL2.
What I've very often done is use command line tools like compilers, search&replace etc inside WSL2, in a Windows terminal. You have the benefits of speed and all the CLI tools of the Linux world. And then have the GUIs, like vscode, running on Windows. Vscode has its server running on the WSL side, so still very good performance.
Best of both worlds, since the GUIs and the CLIs are tightly integrated.
If you haven't already, you should try Total Commander for file navigation. It's similar to Notepad++ in that there's a long list of reasons why it's good at its task, but it's also just a very good example of what desktop Windows software can be like when it's done well.
TotalCommander is the first thing I install on every Windows, and main reason I can't get used to MacOs. Yes, there are some replacements, but nothing that's the same as TC.
Have you tried running it on wine? [1] I use it this way on Linux and, after adjusting my commands for running editors and start menu tools, everything runs smoothly.
From NP++, you could just ctrl-shift-f to "find in files" and it'll be quick about it, but I personally would grep from the root of the project. I usually keep a handful of command line tabs open in Console2, one for git, one for grep, one for build commands, others that are running local services etc. Anyways, the reason for this is the mental map / spatial geography of a project .. enough repetition cd'ing through folders and seeing file paths while grepping helps me visualize actual locations of things, which helps me grasp the entire structure of a project.
Meanwhile, in VS Code etc you can just hover over something and click to go directly to it, which is cool, but it's kind of like teleporting instead of actually driving to the destination enough to learn the roads.
I do a similar thing with git PRs -- for example, if you build something that follows a bundled pattern (ex. a component that has frontend, backend and data-related files, plus naming conventions), having a clean + complete reference PR to revisit when you make new components helps ensure I don't miss anything and stay consistent. I usually view these in-browser since Github/Bitbucket/Gitlab all have nice interfaces to see what files you need, where they go, how they're named, etc.
I do the same thing (though with Vim as my editor instead of NP++). Grep is seriously underrated. (well technically I use my own grep replacement[1] instead for a few reasons, but plain old grep can get the job done very well)
> That said, I'll happily use Handbrake over command-line ffmpeg for a lot of things, so obscuring behind UI isn't always a bad thing.
My cli bogeys are pdftk and imagemagick - both wonderful achievements, but I rarely need them, and they get "paged out". So there I am using web services that probably are just a GUI with pdftk and imagemagick underneath ...
Ah, also a Notepad++ user. Happy 21, time to buy it a (another, shh) beer.
Except for sbcl/stklos (Common Lisp/Scheme), my setup it's like that. Make, ccache + cc/c++, vi, and some graphical diff tool as it's better than plain diff(1). entr(1) to watch file changes on a directory and run make at every file saving.
I admit I don't use Notepad++ to actually write anything -- I use it view large files, do complex search & replace, regex, reformat files, data manipulation, etc.
I probably use it a couple of times a week but never to write. I don't even consider it in competition with tools like VS Code, etc.
Me too! It's my go-to large text file manipulator. It's also what I keep open all the time to paste things into since it's so easy to open a new tab and it keeps temp files of things i haven't saved until i've closed them and told it I don't want them saved, so it opens up with a decent history of crap I've been using until I'm ready to clear it.
I love it with the exception that one day, when it started to lag (my fault for opening up 400+ unsaved tabs), I realized there is no "Close All and Don't Save Changes" functionality. Clicked the "No" button around 80 times, searched for some registry or appdata hack to see if it could get rid of the rest which didn't work, and then sadly went back to clicking No for the rest. I'll try to avoid that in the future.
It keeps temp files in one of the appdata folders. You could just blow them away and it would just remove them from the tab list. The issue is do you want to keep that stuff or not. Also ctrl-w and n. should work fine too.
Does it also offer syntax highlighting?
One nice thing about Npp is not only the temp files and tabs, but also that it offers syntax highlighting if needed.
Sometimes when viewing a large Json it's nice to paste it in, turn on syntax highlighting and finding the information needed.
Except when you try to close it, it asks whether or not you want to save the unsaved tab, with a modal, one per every unsaved tab. It kind of defeats the purpose of this feature.
Strange it does prompt me to save and I also don't do any extra configuration for the Win11 Notepad. It is a fairly annoying app, and definitely worse than previous versions. But will look into what config options there are, but being a modern software I expect it's probably got limited options.
Based on the products name I think this was the main goal--to replace windows' bundled notepad.exe. For me, notepad.exe had some ridiculous issue, which I can't remember (I think maybe a very low limit on the file size?), that forced me to look for a replacement ca. 2005. The other piece of software from that time I'm still using is sumatrapdf.
my primary use for it is to open files quickly and as a dumping ground scratch pad since you can just close windows and it won't bitch about "do you want to save this file?" no, sir, i do not, just reboot windows please, and when I come back to notepad, I want my scratch buffers back.
It definitely isn't a replacement for VS Code for actual programming. However, I'd certainly use npp for a lot more than viewing large files and quick editing if it had better LSP, remote filesystem, terminal support, etc.
As it stands, I use it frequently - just not for code.
Same here. Specially back when Atom was a thing, Notepad++ would always be my "side editor" for any kind of heavy lifting (or even heavy-ish - looking back I really ask myself why I didn't just use it for everything ^^)
One thing I really like about software is that it can theoretically live forever.
I know bit rot is real, but with some maintenance, and even a quite small community, it can keep getting revitalized basically forever.[1]
The field is generally still young, so I look forward to good solid software just getting older and older and still working well. Makes it worth learning and internalizing.
C is in its 50s, and doesn't seem to be going anywhere (:
Part of what pains me about much modern software, with its always-online and tied-to-some-cloud-service nature, is that it tends to die. The learning you do goes to waste, when some fickle company pulls the plug in the future.
I like to build stuff that lasts, whether it's a cathedral or a bazaar, and I like to use stuff that was built in that way, too.
[1] Okay, forever is a long time. Maybe some day keyboards will be extinct, and that will make keyboard-centric software obsolete. Same could be true for screens, or even the broad architecture of computing hardware as we know it. But those changes tend to happen slowly, and there's time to adapt.
> One thing I really like about software is that it can theoretically live forever... ...The learning you do goes to waste, when some fickle company pulls the plug in the future.
I think you could say that software lasts forever when it's author wants it to. There is plenty of dead proprietary software that dates from before the era of cloud services; it's dead because, just like the SaaS company that pulls the plug today, nobody thought (or dared) to preserve the source code.
To make sure software really lasts, history shows us that the best thing one can do is to release the code as FOSS :)
One thing i like about Emacs is i can be reasonably sure it isnt going anywhere anytime soon. The GNU version was first released almost 40 years ago and its still actively used and maintained. I like investing my time learning quality tools that stand the test of time.
I think the most important thing for its survival is it needs young contributors who care and thus can one day take over, which seems difficult to do consistently.
It will keep evolving until it's faced with a situation where it just can't move on the correct direction. Probably because of some social reason, not a technical one.
It's hard to imagine this happening to Linux in particular because it's ridiculously flexible. But things always change.
I recently looked at some log files (nothing too crazy, somewhere between 20 - 50 MB of text data) and much to my surprise the recent versions of Visual Studio Code seemed to be smoother than Notepad++.
That said, it's a nice toolbox of common text operations, like sorting lines, removing duplicates, converting case and whitespace symbols and so on. I still use it daily for similar tasks, or just some TODO files, config edits and such.
I did look for something a bit more cross platform to replace it with and CudaText caught my attention (https://cudatext.github.io/) but nothing convincing enough to use something else on my Windows computer, or switch away from Visual Studio Code or Fleet on my Linux/Mac computers.
> I did look for something a bit more cross platform to replace it
vim. ;) While yes, it has quite a learning curve, the payout IMO is ultimately worth it.
But Notepad++ will always have a place in my heart; it was what I used for a long time back when I was also still using Windows, and it's a solid editor, and leagues better than NOTEPAD.EXE. Especially 21 years ago, the landscape was much different. "DevC++" I think was the other editor I had that was competing with it.
Unfortunately then you will eventually be forced to work in environments without it and feel like you just had a brain aneurysm due to how insufferably slow and clunky everything else is. Ignorance is bliss, just look at all those cute commenters here who think notepad++ is the best thing ever. "It even supports regexp!" It makes the editor wars feel so pointless, but Windows users are adorable.
+1 for CudaText. Missed Np++ when I switched to Linux (trying to avoid Wine whenever possible), tried many alternatives and only rested when I found it about a year later.
Excellent performance for big files (some might know Universal Viewer for this task, it's from the same dev), simple and efficient like Np++ while still having some more advanced features. Very customizable through options and plugins.
Same here but I had the opposite impression: VS was so laggy it was unusable. Maybe it was trying to analyze something in the file? Not sure. NPP opened the file without issued and I could actually work with it.
Notepad++ is my daily driver for taking notes, todos, do pastes and use new tabs as buffers. It’s the most reliable place on my work machine, being always found how you left it off. Notepad++ and WinMerge are my two favorite tools. Integrating Winmerge with Visual Studio 2022 was a breath of fresh air, any compares pop up outside VS in a WinMerge window, could leave multiple versions open, etc. I don’t even want to start about by pet peeves with VS but many UI/UX features in it are just bad. Unfortunately I have to live with it for now.
The fact that it auto saves any new tab that you filled with thoughts, todo's, pieces of logs,... is super handy. When rebooting they just appear as unsaved new tabs, as if you never closed notepad++. Zero keep effort. To toss, you just close the tab and click no.
I use Sublime Text for that. I usually use it to paste something that I want to run but modify it (i.e docker-compose.yml) and I use it to write notes during my work and store in its buffers my session thinking. When I'm done or want to leave for a long time (I move these to obsidian). Also for quick edits I like being able to use build-in terminal command `subl` (i.e adding something to ~/.bashrc ). It is available for Windows, Mac and Linux. It is the fastest program to open on all machines I tried before. I don't have a license but I think I should get one (they are generous about that and I silence myself by saying I'm poor academic researcher).
Ive been meaning to try Sublime for a while now. Will try and comment my experience at a future time. Thing is N++ never dissapointed and if Sublime wins my mindshare Id be having some tough decision to make. Also N++ is free and I developed plugins for myself. Maybe Sublime is still better, don’t know for sure.
I didn't intend this as a comparison. I used Notepad++ for sometime along time ago when I was using windows primarily. I moved to using Linux and Mac and this in itself would mean I cannot use Notepad++ as it is not available on Mac. I was just sharing my experience using different tool to a similar workflow like you have. Being free and open source is good of course but for me Sublime has better integration and its UI is better. And it does support Mac.
It has served me well in those terrible times when you get a new PC at work (usually Windows) but it is so locked down by Dept of IT that one cannot load anything useful... except a few things like browser... or Notepad++
It has saved my a@@ multiple times in one-or-two large consulting companies pretending to be technically advanced.
My IT gave us right to run a few things as admin. Among them, n++. And guess what, it has a "Run" menu item so you can launch any child process. Perfect.
We need a club house or something. We cannit even execute any whitelisted .exe, a valliant colleague who shall remain anonymous to history must have fought for us having n++, and I thank them for it.
This means Scintilla (the editor component in Notepad++, Geany, and others) is about 25. It was the foundation of my move away from proprietary editors like Visual SlickEdit, and served me well for more than a few years. I'm glad it's still around.
Same here. I used SciTE and Notepad++ way back in the day, probably 20-ish years ago. They were my first taste of useful light-ish weight text editors (with more features than plain old Notepad). Since then I no longer use windows as my daily driver and ended up settling on Vim, but I'm forever indebted to both SciTE and Notepad++ for opening my eyes.
Me, too! Use mostly Jetbrains these days, but we've been standing up some windows servers, and putting NPP on them - which reminded me of Scintilla: wrote my own turbo-charged IDE on top of it ~22 years ago. That secret sauce led to lots of work.
My 17 year old high school senior told me that the suckiest thing about their school-issued laptop is lack of Notepad++. I teared up and my hacker dad skillboard got another achievement! I told him that it has a portable install and this weekend he's getting it on via Gdrive upload. Nothing will stop better editor from showing up on school machine!
Simple free software tools like notepad++, 7zip, and vlc should really be pre-installed on any school or work device like that, especially ones where you can run arbitrary executables.
The amount of random malware run/installed by non-technical users falls off a cliff when they don't have to solve these problems for themselves.
Still haven't found another editor that lets you define a project with files from all over the filesystem rather than just from a folder. And no VS Code's multi-root projects do not cut it.
Sublime Text has a "Save Project As" option that will create a project with all the files that you have open, wherever they are located. When I tried to migrate to other programs that's one of the first things I try to do and they never have it.
Not exactly comparable since it's an IDE, but Eclipse had the concept of "linked resources" (files or folder that are part of the project but stored somewhere else on the file system) since at least twenty years.
Agreed. The author being "Michael" with no last name and no bio, the lack of any technical description of Notepad++, the lack of any comment from Don Ho, etc.
I love Notepad++. My top 2 favorite features are macro recording and its search/replace (with options for normal, extended, and regex). It's fantastic for quickly cleaning up data.
My favorite feature is when I try to save something in an admin restricted folder and I hadn't started it as admin. It seamlessly restarts itself as admin and restores the file I was working on. It's magic.
It runs with difficulty on Wine. Example: I have localization for Japanese fonts on my Linux system but it wasn't showing up in Notepad++. I love Notepad++, but that was the final straw. I have switched to Geany which is missing many features from Notepad++, but will display the fonts correctly. I'm sure there's a way to get the fonts loaded up through Wine, but I've given up.
It is kinda interesting that the only software program I miss when on a non-Windows machine is an open source (and GPL of all) replacement for built-in Notepad, developed by an independent engineer.
feels like forbidden knowledge... I guess any app devs know things like these if their software's used widely enough like chrome/steam and your various motherboard software suites and crapware installed by laptop makers
There is still no real equivalent on Linux. Kate seems nice but its session management isn't ideal.
Honestly I want to take Scintilla or whatever and just add in session support, syntax highlighting and spellchecking, and then I'll have my perfect editor.
You might take a look at [SciTE](https://scintilla.org/SciTE.html), a light weight wrapper around Scintilla, with lua scripting support. It’s been my non-IDE editor for years on Windows and Linux…
We have it on our work laptops. It’s decent. But it does not even have markdown editing out of the box. You need to install a plugin. I cannot do that without proper rights.
Other than that it’s pretty good. Like BBEdit on a Mac.
Edit: I rather miss markdown rendering, not primarily editing. Should have been more specific.
You could try the portable version [1]. Not so easy to update afterwards, of course, and plugin installations and updates might need some extra steps [2] but having a zipped backup / ready-to-go package, with everything configured as desired, can come in handy.
It's unfortunately because they installed it with an admin user. If they would have installed in your user context you'd be able to. See if your help desk can reinstall it that way for you.
Notepad++ was a life saver in my early days of needing to open and edit large files without having the tech literacy or familiarity required to use an actual IDE. I was a Windows "tinkerer" for a long time before learning programming and getting into engineering, and I suspect I'm not the only one on HN who got started that way. It's probably the first editor I used with line numbers, tabs / multiple view panes in one window, and customization options.
I can't say I use it as often these days, but it's still installed on my PC at home and it's a reliable tool that I think back on fondly. Without it, I might not have "leveled up" to more advanced tools later on.
Is there anything similar and lightweight that is cross-platform(or at least is available both on Linux and OS X)? I am not a Windows user, so that's a secondary priority for me
I'm working on a multi-platform code editor similar to notepad++ and some new editors like Zed, called ecode, that tries to be a fresh take on code editors using some modern tools and technologies like LSPs. I started working on it after using Geany (which was the closest alternative to notepad++ in Linux) for many years but finding Geany lacking some essential features for my needs. ecode is developed with speed in mind and has a very fast startup time. It might be a good fit for your search.
To help many here understand Notepad++, would someone introduce a curious Vim user to Notepad++? Please don't make it into what is better or worse, but what capabilities does each have that the other lacks (not an exhaustive list, of course), what do they both have but implement differently, what uses are in Notepad++'s wheelhouse, etc?
I've heard of it for years, of course, but I don't really know it beyond 'GUI advanced text editor'.
I'm not sure if others have it. But notepad++ had a pretty neat way to mark lines from search and do various multiline editing that I've always enjoyed.
I enjoyed it's transient new file tab without needing to specify a file location.
I like its find and findall and count better than other editors.
It depends on how big 'big' is. Years ago I was working with large CSVs - several hundred MB - and Vim took forever. I found some other text editors that specialized in extra-large files (I wish I remembered the names now), and the one we tried worked like magic.
Not sqlite, out of curiosity? which do you use when? I'm going to need one of them soon, which is why I'm asking ...
FWIW, the aformentioned text editor working with the 200+ MB file could edit the entire thing almost immediately (at the UI level; I don't know what happened in memory). Each record was less than a screen-length, so maybe 100 char/line conservatively, so maybe 2 million lines. iirc I could insert a character on every line without problematic latency - my memory says mabye 10 seconds, but unless it was a dirty operation, that can't be true?
I don't mind the search popping as a new window. While I'm not using ++, I still use the feature when using Find All, and the new window expands to show the individual lines in the file/folder at once. Looking for each instance with Ctrl-G type of searching doesn't require that full window to remain open
I wish it would get LSP support. There are some plugins but they seem buggy/ incomplete/ abandoned. It could be a nice lightweight alternative to VSCode.
Notepad++ was my first editor of my own choice. In the end, not something I wanted to keep around, but It's certainly something I would recommend to people who are just getting started in IT.
My contribution was adding "scrollable tabs" to it way back in the day and fixing a nullptr reference .. I did enjoy how simple the code was to actually grok and maintain, especially compared to some other FOSS projects of the day
For cars/music, 25 years seems to be the accepted definition of classic. It's a true sign of you're getting old when the music you listened to in your teens is now considered classic. Does software have that same definition of 25 years? There's very few apps that I can think of that I still use for that long, so reaching the status of classic software is one hell of an achievement. Abandoned software should not be qualify as classic software.
I remember my college roommate, around 2010, using Notepad++. I assumed it was fairly old at that point given how simple and solid it looked. Way to go, Notepad++ for building something that's standing the test of time!
And yet, this text editor too loads the whole file into memory when you open it. No modern text editor really should do that and support files of essentially arbitrary size by loading at most a few gigabytes around the cursor.
It does have the benefit that if the file changes or is deleted then you can carry on working with the old version. (It notifies you when this and lets you choose whether to reload/close.)
Wouldn't windows not let you do that if the file is opened exclusively? I also assume you can retain a handle to a "deleted" file on windows, like you can on *nix machines.
I think you're just restating the same benefit in a different way: you can modify or delete a file (or even just open it without modifying it) in another process while Notepad++ has it open.
Thank you to it's creators. I've used Notepad++ to make a living for over a decade (front end web designer). Started to use Sublime text (when I was pushing code into the repo) but past few years just Notepad++ and Notepad to design web apps and sites.
Notepad++ is so based. It's a traditionally well-made native app, fast and lean, with a dense and useful interface, which is a breath of fresh air amidst a sea of Electron & Co. bloat that comprises modern apps.
Also has a nice logo for a FOSS app. Branding is important, even for FOSS, which so many unfortunately fail at. If your software creation is associated with a foot or a rat, then you're doing it wrong.
In defence of both Xfce and rodents, the software is designed to be fast, lean and nimble - just like rats. It's only a cultural association with our own, human filth that gives rats a bad reputation.
I put IrfanView on every windows machine I use. It's a very handy and lightweight image viewer. But the logo is an animal ran over by a car, I think? I've had people ask me about why I have 'that dead animal' icon on my desktop.
Notepad++ is the single biggest reason I prefer a windows pc over a macbook. It's such a no nonsense app with exactly the right mix of features and usability. One of these days I'll ditch vs code in favour of np++ for all my editing needs.
Closest Notepad++ alternative I found on Mac was CotEditor - https://github.com/coteditor/CotEditor. Has all the basic features apart from plugin support.
It is not Notepad++ fault. Essentially, the CIA made a modified version of a DLL included with Notepad++ that contains a backdoor, but it is not in the official version of Notepad++ and you can't get it by normal means.
The fix is just an improved signature check, so that Notepad++ detects if that DLL has been tempered with, by the CIA or anyone else, or by a virus. But as Don Ho himself said, it is a rather weak protection, for that specific attack. Notepad++ is free software, the CIA (or any malware author) can make a version with Notepad++ with a backdoor and there is nothing the author can do, it is true for all free software, and most proprietary software too.
But Don Ho being Don Ho, and because it is the CIA, he had to make a rant about it. I don't like his attempts to push his political opinions with Notepad++, but that's his software, his rights.
I don't understand. Once CIA has access to your machine, they can replace any DLL and have it be loaded by any software. You'll have to stop using all software with dynamic dependencies, why single out Notepad++?
You either didn't read your own link, or didn't understand it - NP++ uses a DLL that could be separately backdoored; the backdoored version wasn't shipping with NP++ installations.
You could in theory do something similar with literally any Windows application that links a DLL (i.e. virtually all of them).
I continue to use Notepad++ despite having tried every other editor and IDE under the sun. This, of course, drives every person completely insane when I explain that my "IDE" is:
- Notepad++ for editing, pretty much stock, no plugins
- command line for git and grep (Console2 or Git Bash)
- File Explorer alongside Everything [0] for navigating files
- Beyond Compare [1] for visual diff/merge
- WinSCP/PuTTY for SFTP/SSH (usually to Linux)
- Synergy [2] for sharing keyboard and mouse between Windows and MacOS
I personally enjoy being in all 3 major OS's at the same time, and find it helpful to separate concerns to their respective applications/interfaces -- it helps me keep a mental geography of "where things are" and "what tool is used for which purpose", rather than being beholden to a IDE-dictated workflow or tool that's obscured behind specific UI patterns.
That said, I'll happily use Handbrake over command-line ffmpeg for a lot of things, so obscuring behind UI isn't always a bad thing.
Anyways, HUGE RESPECT to Notepad++!
[0] https://www.voidtools.com
[1] https://www.scootersoftware.com
[2] https://symless.com/synergy
I think I'm one of the last people using WSL1. I think everyone jumped to WSL2 because 2 is bigger than 1, but they're really different things. WSL1 lets me keep my files on the Windows side, let's my IDE (PHP storm) remain performant with no Linux to Windows file system overhead, but I still get to use all the Linux CLI tools. I still pay some overhead for that, but it's better than doing it the other way around and paying for every keystroke in my IDE.
What I really want is a damn good Terminal/Emulator for Windows AND Linux that can run the same set of tools with zero overhead. Boggles my mind that everything is slow and janky to this day.
I was like you until last year. I did all my development from Emacs on WSL1, writing mostly Windows-specific code (DCOM). I maintained a set of brittle hacks to allow me to drive Windows side CMake and MSBuild straight from Emacs, and then run LSP on compile commands from Clang tricked into thinking it's cross-compiling. It held up surprisingly well.
Eventually, I installed a WSL2 distro so I could run Docker, then I had to reimage the machine because corporate reasons, and then, with my work involving less Windows-specific code, I decided to not recreate my pile of hacks, but start with a fresh WSL2 setup. It works well enough, so that's what I use now.
FWIW, I always liked WSL1 more. WSL2 is basically just more streamlined VirtualBox setup; WSL1 is magic.
WSL1 reminds me of coLinux of old times.
https://en.m.wikipedia.org/wiki/Cooperative_Linux
That's more comparable to WSL2 than WSL1.
WSL1 is a subsystem on the NT kernel, allowing Linux binaries to run natively on Windows itself (not a virtual machine). It's the spiritual successor to Interix, that showed up in NT 4.0 and was removed in Windows 8.
The flip side is Wine, allowing Windows binaries to run natively on Linux.
Genuinely impressed at this bespoke approach.
Completely off topic, but I was a Linux user for years, then I had to use Windows with WSL2, and it was a constant struggle. I recently switched to a Mac M3, and oh boy, it is a pleasure to use. No more fighting the Windows/WSL divide, slowness and command line tools. Also M3 is a really fast beast.
It sounds like you would be happier with WSL1. It also has way less divide between Windows and WSL.
MSYS2 is quite decent. I use it everyday at work where I have to use MS Windows.
https://www.msys2.org/
Msys2 is really great, I also daily drive it when I’m on a windows box.
Yeah I switched from cygwin to msys2 a few years ago, it works quite well for most things, seems a little slow when scripting though, as windows process forking is slow af. It kind of pushed me to learn a lot more python and switch over from bash which was my primary scripting language for various tasks, msys python is roughly as fast as straight windows python install
I still run one distro on WSL1 - the fact it shares network with "main" Windows helps me to do simpler TCP proxying when needed. So you are not alone ;) While WSL1 is nothing bad, the most of things I do involving WSL happens in WSL2.
Not to say you are doing something wrong - whatever suite your needs. For me, WSL2 provide Linux tooling, i.e. systemd, which WSL1 just cannot by design. The very same way managing system as I do on servers.
When it's possible/makes sense, I do run gitlab-runner in my WSL2 for easier builds debugging, when setting up new projects for programmers - comparing to 250-300+ ms latency working on remote hosts, it's often much more productive.
Basically stable Linux without fighting with Linux-on-desktop-year-to-come.
> I think I'm one of the last people using WSL1.
I think you're the second-to-last one :-)
Remember Cygwin?
I mainly remember (mostly) not wanting to install it because of the so many weird things it does, or rather it did when I last used it more than a decade ago (including strange NTFS ACLs to emulate POSIX permissions).
What do you mean "remember"? It still makes using the command line in Windows tolerable. And yes, I am familiar with PowerShell, and NO I'm not interested in using it.
I remember Steve Yeggie selling me on it as a better Unix than Unix, then getting bogged down in cryptic inexplicable failure modes
Really cool technology really early, but I can't say I'm nostalgic!
Yep, I used it a lot. Made Windows tolerable.
> one of the last people using WSL1.
(waves). Yep, it does "the needed".
"2 is bigger than 1" can take a hike.
Wait what? I'm not a Windows user, so I haven't used any version of WSL, but WSL 2 doesn't store the files on the Windows side? It seems to me that the whole "easy access to your Windows files in a Linux environment" was the point of WSL.
WSL1 is really just a new system call interface for Windows.
WSL2 uses "disks" emulated via image files that are stored as ordinary Windows files (but in a secret place). This makes most file I/O from inside WSL2 faster than from inside WSL1.
WSL2 can use the Windows file system (and vice versa) via file servers.
When a Linux app inside WSL2 wants to use a Windows file, the Linux kernel (there is only ever one for all running WSL2 images!) talks to a Windows app that does the file serving.
When a Windows app wants to use a Linux file from a WSL2 image, the image first has to run (might take a little while for it to boot) and then a daemon there serves the file to the Windows app.
I think one of the file servers use a version of the 9P protocol. Maybe they both do.
https://en.wikipedia.org/wiki/9P_(protocol)
Things that do lots of file I/O (such as compiling) are way faster under WSL2 using local file systems than under WSL1.
Wsl 2 can access files in windows, but it is very slow.
With the benefit of Linux and its filesystem being super (natively) fast in WSL2.
What I've very often done is use command line tools like compilers, search&replace etc inside WSL2, in a Windows terminal. You have the benefits of speed and all the CLI tools of the Linux world. And then have the GUIs, like vscode, running on Windows. Vscode has its server running on the WSL side, so still very good performance.
Best of both worlds, since the GUIs and the CLIs are tightly integrated.
If you haven't already, you should try Total Commander for file navigation. It's similar to Notepad++ in that there's a long list of reasons why it's good at its task, but it's also just a very good example of what desktop Windows software can be like when it's done well.
Back when I had to develop on windows I used Far file manager.
It was amazing. I've used midnight commander on Linux, but it isn't close to Far IMO.
TotalCommander is the first thing I install on every Windows, and main reason I can't get used to MacOs. Yes, there are some replacements, but nothing that's the same as TC.
Have you tried running it on wine? [1] I use it this way on Linux and, after adjusting my commands for running editors and start menu tools, everything runs smoothly.
[1] https://www.ghisler.ch/wiki/index.php/Total_Commander_under_...
I certainly respect that. Mine is emacs, pretty vanilla. I do use magit for git operations.
find/xargs/grep for exploring code, finding definitions, etc.
standard utilities (ls, cp, mv, etc.) in the shell for file management
What is your pattern for navigating to a function definition (as an example of a basic IDE operation that doesn't seem supported)? Grep?
From NP++, you could just ctrl-shift-f to "find in files" and it'll be quick about it, but I personally would grep from the root of the project. I usually keep a handful of command line tabs open in Console2, one for git, one for grep, one for build commands, others that are running local services etc. Anyways, the reason for this is the mental map / spatial geography of a project .. enough repetition cd'ing through folders and seeing file paths while grepping helps me visualize actual locations of things, which helps me grasp the entire structure of a project.
Meanwhile, in VS Code etc you can just hover over something and click to go directly to it, which is cool, but it's kind of like teleporting instead of actually driving to the destination enough to learn the roads.
I do a similar thing with git PRs -- for example, if you build something that follows a bundled pattern (ex. a component that has frontend, backend and data-related files, plus naming conventions), having a clean + complete reference PR to revisit when you make new components helps ensure I don't miss anything and stay consistent. I usually view these in-browser since Github/Bitbucket/Gitlab all have nice interfaces to see what files you need, where they go, how they're named, etc.
I do the same thing (though with Vim as my editor instead of NP++). Grep is seriously underrated. (well technically I use my own grep replacement[1] instead for a few reasons, but plain old grep can get the job done very well)
[1]: https://github.com/FreedomBen/findref
Before I learned the holy ways of g->d, that was essentially what I did (grep -nr).
what is g->d?
Vim keybind for jumping to the definition of the symbol under your cursor, I believe
Exactly! Neovim really changed my workflow.
I can't live without ripgrep, it's so much faster than grep it's not even funny, especially if working with very large code bases with 100,000+ files
Why is that? Does it build an index so later searches are fast?
No, I just think every last part of ripgrep has had the shit optimised out of it.
Plus it's written in rust and as we know, it's blazingly fast.
ctags plugin
ctags + cscope can take you far
Check out MobaXterm, it has a phenomenal X implementation just built in.
NP++ and Mobaxterm are only two programs that I dearly miss after moving to mac.
omg dude - you must transition to directory opus instead of file explorer
the wildcard search alone is worth the entry price
been using it for like 10+ years
Wow, I use all those programs too!
> That said, I'll happily use Handbrake over command-line ffmpeg for a lot of things, so obscuring behind UI isn't always a bad thing.
My cli bogeys are pdftk and imagemagick - both wonderful achievements, but I rarely need them, and they get "paged out". So there I am using web services that probably are just a GUI with pdftk and imagemagick underneath ...
Ah, also a Notepad++ user. Happy 21, time to buy it a (another, shh) beer.
Except for sbcl/stklos (Common Lisp/Scheme), my setup it's like that. Make, ccache + cc/c++, vi, and some graphical diff tool as it's better than plain diff(1). entr(1) to watch file changes on a directory and run make at every file saving.
I admit I don't use Notepad++ to actually write anything -- I use it view large files, do complex search & replace, regex, reformat files, data manipulation, etc.
I probably use it a couple of times a week but never to write. I don't even consider it in competition with tools like VS Code, etc.
Me too! It's my go-to large text file manipulator. It's also what I keep open all the time to paste things into since it's so easy to open a new tab and it keeps temp files of things i haven't saved until i've closed them and told it I don't want them saved, so it opens up with a decent history of crap I've been using until I'm ready to clear it.
For Windows 11 users, the latest Notepad.exe can also pick up where you left off the last time the app was closed.
I love it with the exception that one day, when it started to lag (my fault for opening up 400+ unsaved tabs), I realized there is no "Close All and Don't Save Changes" functionality. Clicked the "No" button around 80 times, searched for some registry or appdata hack to see if it could get rid of the rest which didn't work, and then sadly went back to clicking No for the rest. I'll try to avoid that in the future.
It keeps temp files in one of the appdata folders. You could just blow them away and it would just remove them from the tab list. The issue is do you want to keep that stuff or not. Also ctrl-w and n. should work fine too.
Looks like this has changed at some point :)
I just tried this, opened a bunch of tabs and edited the text in them all.
Right click tabs, close all to the right, left or close all but this.
Then it shows a message box asking to save, click No To All.
All tabs closed :)
Does it also offer syntax highlighting? One nice thing about Npp is not only the temp files and tabs, but also that it offers syntax highlighting if needed. Sometimes when viewing a large Json it's nice to paste it in, turn on syntax highlighting and finding the information needed.
Except when you try to close it, it asks whether or not you want to save the unsaved tab, with a modal, one per every unsaved tab. It kind of defeats the purpose of this feature.
That must be some setting for you. It doesn't prompt to save on any of my several Windows machines, and I don't recall configuring that anywhere.
Strange it does prompt me to save and I also don't do any extra configuration for the Win11 Notepad. It is a fairly annoying app, and definitely worse than previous versions. But will look into what config options there are, but being a modern software I expect it's probably got limited options.
for me it only happens if I run in multiple instance mode where you can have multiple notepad++s open
I meant Windows Notepad on Win11 is doing this annoying thing, not Notepad++.
And offers tabs
Based on the products name I think this was the main goal--to replace windows' bundled notepad.exe. For me, notepad.exe had some ridiculous issue, which I can't remember (I think maybe a very low limit on the file size?), that forced me to look for a replacement ca. 2005. The other piece of software from that time I'm still using is sumatrapdf.
my primary use for it is to open files quickly and as a dumping ground scratch pad since you can just close windows and it won't bitch about "do you want to save this file?" no, sir, i do not, just reboot windows please, and when I come back to notepad, I want my scratch buffers back.
It definitely isn't a replacement for VS Code for actual programming. However, I'd certainly use npp for a lot more than viewing large files and quick editing if it had better LSP, remote filesystem, terminal support, etc.
As it stands, I use it frequently - just not for code.
Same here. Specially back when Atom was a thing, Notepad++ would always be my "side editor" for any kind of heavy lifting (or even heavy-ish - looking back I really ask myself why I didn't just use it for everything ^^)
Wow I can't believe how fast I had forgotten Atom was even a thing. Hell I even used it professionally (with Nuclide) for years.
Basically the same search and replace and most of the time reading log files and of course searching in those.
yes this is me too mostly. i also love the sort/mark/delete marked options for extracting data.
One thing I really like about software is that it can theoretically live forever. I know bit rot is real, but with some maintenance, and even a quite small community, it can keep getting revitalized basically forever.[1]
The field is generally still young, so I look forward to good solid software just getting older and older and still working well. Makes it worth learning and internalizing.
C is in its 50s, and doesn't seem to be going anywhere (:
Part of what pains me about much modern software, with its always-online and tied-to-some-cloud-service nature, is that it tends to die. The learning you do goes to waste, when some fickle company pulls the plug in the future.
I like to build stuff that lasts, whether it's a cathedral or a bazaar, and I like to use stuff that was built in that way, too.
[1] Okay, forever is a long time. Maybe some day keyboards will be extinct, and that will make keyboard-centric software obsolete. Same could be true for screens, or even the broad architecture of computing hardware as we know it. But those changes tend to happen slowly, and there's time to adapt.
> One thing I really like about software is that it can theoretically live forever... ...The learning you do goes to waste, when some fickle company pulls the plug in the future.
I think you could say that software lasts forever when it's author wants it to. There is plenty of dead proprietary software that dates from before the era of cloud services; it's dead because, just like the SaaS company that pulls the plug today, nobody thought (or dared) to preserve the source code.
To make sure software really lasts, history shows us that the best thing one can do is to release the code as FOSS :)
One thing i like about Emacs is i can be reasonably sure it isnt going anywhere anytime soon. The GNU version was first released almost 40 years ago and its still actively used and maintained. I like investing my time learning quality tools that stand the test of time.
I love being a C developer. I'll still be using it when I retire, though hopefully mixed with Rust instead of C++.
My prediction is that C will still be in active use 100 years from now.
Linux will likely still exist and have a team of people maintaining it, so the odds are pretty good that you’re right.
Those things are immortal right until they suddenly die without a warning.
In 100 years there will probably be somebody maintaining Linux for sentimental reasons. But it probably won't be in practical use.
I sincerely think Linux is “too big to fail” at this point. Will it morph and evolve into a charmander? Probably, but the evolution will be fluid.
I think the most important thing for its survival is it needs young contributors who care and thus can one day take over, which seems difficult to do consistently.
It will keep evolving until it's faced with a situation where it just can't move on the correct direction. Probably because of some social reason, not a technical one.
It's hard to imagine this happening to Linux in particular because it's ridiculously flexible. But things always change.
Probably Java and python will also
SQL will definitely be around.
One of my favourite features in n++ is to enable "show all characters". Discovered a lot of weird end-of-line and bom issues like that
I recently looked at some log files (nothing too crazy, somewhere between 20 - 50 MB of text data) and much to my surprise the recent versions of Visual Studio Code seemed to be smoother than Notepad++.
That said, it's a nice toolbox of common text operations, like sorting lines, removing duplicates, converting case and whitespace symbols and so on. I still use it daily for similar tasks, or just some TODO files, config edits and such.
I did look for something a bit more cross platform to replace it with and CudaText caught my attention (https://cudatext.github.io/) but nothing convincing enough to use something else on my Windows computer, or switch away from Visual Studio Code or Fleet on my Linux/Mac computers.
> I did look for something a bit more cross platform to replace it
vim. ;) While yes, it has quite a learning curve, the payout IMO is ultimately worth it.
But Notepad++ will always have a place in my heart; it was what I used for a long time back when I was also still using Windows, and it's a solid editor, and leagues better than NOTEPAD.EXE. Especially 21 years ago, the landscape was much different. "DevC++" I think was the other editor I had that was competing with it.
vim is amazing once you learn a couple verbs, visual block mode, windows, and the nice special subjects, eg % for enclosing parens
I seldom use vim/neovim these days (except for commit messages as it's $EDITOR) but use vim bindings via plugins everywhere I can (Intellij, VSCode)
Sometimes there's issues with these, but they're generally quite good for daily use (although slower)
Unfortunately then you will eventually be forced to work in environments without it and feel like you just had a brain aneurysm due to how insufferably slow and clunky everything else is. Ignorance is bliss, just look at all those cute commenters here who think notepad++ is the best thing ever. "It even supports regexp!" It makes the editor wars feel so pointless, but Windows users are adorable.
Everywhere useful has it these days; even on Windows you can get a very capable vim in Git Bash or WSL
I have never encountered an OS distribution that did not have vi pre-installed
Just checked, Dev-C++ seems to still be going: https://www.bloodshed.net.
Oh my god, really? That was my first editor like 20 years ago. Haven't used it since then I think.
Embarcadero's improved fork: https://www.embarcadero.com/free-tools/dev-cpp
+1 for CudaText. Missed Np++ when I switched to Linux (trying to avoid Wine whenever possible), tried many alternatives and only rested when I found it about a year later.
Excellent performance for big files (some might know Universal Viewer for this task, it's from the same dev), simple and efficient like Np++ while still having some more advanced features. Very customizable through options and plugins.
Same here but I had the opposite impression: VS was so laggy it was unusable. Maybe it was trying to analyze something in the file? Not sure. NPP opened the file without issued and I could actually work with it.
Notepad++ is my daily driver for taking notes, todos, do pastes and use new tabs as buffers. It’s the most reliable place on my work machine, being always found how you left it off. Notepad++ and WinMerge are my two favorite tools. Integrating Winmerge with Visual Studio 2022 was a breath of fresh air, any compares pop up outside VS in a WinMerge window, could leave multiple versions open, etc. I don’t even want to start about by pet peeves with VS but many UI/UX features in it are just bad. Unfortunately I have to live with it for now.
The fact that it auto saves any new tab that you filled with thoughts, todo's, pieces of logs,... is super handy. When rebooting they just appear as unsaved new tabs, as if you never closed notepad++. Zero keep effort. To toss, you just close the tab and click no.
I use Sublime Text for that. I usually use it to paste something that I want to run but modify it (i.e docker-compose.yml) and I use it to write notes during my work and store in its buffers my session thinking. When I'm done or want to leave for a long time (I move these to obsidian). Also for quick edits I like being able to use build-in terminal command `subl` (i.e adding something to ~/.bashrc ). It is available for Windows, Mac and Linux. It is the fastest program to open on all machines I tried before. I don't have a license but I think I should get one (they are generous about that and I silence myself by saying I'm poor academic researcher).
Ive been meaning to try Sublime for a while now. Will try and comment my experience at a future time. Thing is N++ never dissapointed and if Sublime wins my mindshare Id be having some tough decision to make. Also N++ is free and I developed plugins for myself. Maybe Sublime is still better, don’t know for sure.
I didn't intend this as a comparison. I used Notepad++ for sometime along time ago when I was using windows primarily. I moved to using Linux and Mac and this in itself would mean I cannot use Notepad++ as it is not available on Mac. I was just sharing my experience using different tool to a similar workflow like you have. Being free and open source is good of course but for me Sublime has better integration and its UI is better. And it does support Mac.
I LOVE Notepad++ !!
It has served me well in those terrible times when you get a new PC at work (usually Windows) but it is so locked down by Dept of IT that one cannot load anything useful... except a few things like browser... or Notepad++
It has saved my a@@ multiple times in one-or-two large consulting companies pretending to be technically advanced.
<3 <3
My IT gave us right to run a few things as admin. Among them, n++. And guess what, it has a "Run" menu item so you can launch any child process. Perfect.
Ha! Reminded me several years ago I was working at some place that had locked down our computers and we couldn't do anything.
Except that windoze had that bug allowing to run the 'at' command to spawn some shell with system rights. From there, the sky was the limit.
Im working in a similar locked down env, and here more recently they lock down downloading N++ or doing updates so I have my workarounds.
We need a club house or something. We cannit even execute any whitelisted .exe, a valliant colleague who shall remain anonymous to history must have fought for us having n++, and I thank them for it.
A place to share... workarounds would be nice.
This means Scintilla (the editor component in Notepad++, Geany, and others) is about 25. It was the foundation of my move away from proprietary editors like Visual SlickEdit, and served me well for more than a few years. I'm glad it's still around.
Same here. I used SciTE and Notepad++ way back in the day, probably 20-ish years ago. They were my first taste of useful light-ish weight text editors (with more features than plain old Notepad). Since then I no longer use windows as my daily driver and ended up settling on Vim, but I'm forever indebted to both SciTE and Notepad++ for opening my eyes.
Me, too! Use mostly Jetbrains these days, but we've been standing up some windows servers, and putting NPP on them - which reminded me of Scintilla: wrote my own turbo-charged IDE on top of it ~22 years ago. That secret sauce led to lots of work.
My 17 year old high school senior told me that the suckiest thing about their school-issued laptop is lack of Notepad++. I teared up and my hacker dad skillboard got another achievement! I told him that it has a portable install and this weekend he's getting it on via Gdrive upload. Nothing will stop better editor from showing up on school machine!
Simple free software tools like notepad++, 7zip, and vlc should really be pre-installed on any school or work device like that, especially ones where you can run arbitrary executables.
The amount of random malware run/installed by non-technical users falls off a cliff when they don't have to solve these problems for themselves.
Still haven't found another editor that lets you define a project with files from all over the filesystem rather than just from a folder. And no VS Code's multi-root projects do not cut it.
Sublime Text has a "Save Project As" option that will create a project with all the files that you have open, wherever they are located. When I tried to migrate to other programs that's one of the first things I try to do and they never have it.
Not exactly comparable since it's an IDE, but Eclipse had the concept of "linked resources" (files or folder that are part of the project but stored somewhere else on the file system) since at least twenty years.
Why not use symlinks (on Linux, not sure of the equivalent on Windows)?
tedious, error prone, tiring. NPP just works out of the box.
New-Item -type SymbolicLink
Might actually be itemtype as argument thinking about it but get-help should tell you
Congrats to Notepad++, but this article reads like AI spam to me
Agreed. The author being "Michael" with no last name and no bio, the lack of any technical description of Notepad++, the lack of any comment from Don Ho, etc.
I love Notepad++. My top 2 favorite features are macro recording and its search/replace (with options for normal, extended, and regex). It's fantastic for quickly cleaning up data.
My favorite feature is when I try to save something in an admin restricted folder and I hadn't started it as admin. It seamlessly restarts itself as admin and restores the file I was working on. It's magic.
I love using it for macros. Do you happen to know if there is anything similar for either VS Code or PyCharm?
Yes, I used those features too and love them too.
I've been using it for many many years. Never paid a dime. Just donated 21 Euros, €1 per year.
If anyone else is so inclined, I'll save you the search: https://notepad-plus-plus.org/donate/
(unaffiliated with the author, admire old-fashioned people who don't switch from free to paid)
I moved to Notepad++ after Brief mainly because of proper column select. This is just so handy when you need it.
As a Mac user, Notepad++ is the only thing I miss from the Windows ecosystem.
What do you happen to use? I find Sublime Text to be the closest alternative.
There is this https://github.com/dail8859/NotepadNext
It runs on Wine.
It runs with difficulty on Wine. Example: I have localization for Japanese fonts on my Linux system but it wasn't showing up in Notepad++. I love Notepad++, but that was the final straw. I have switched to Geany which is missing many features from Notepad++, but will display the fonts correctly. I'm sure there's a way to get the fonts loaded up through Wine, but I've given up.
Geany is great, but you can take a look at Kate as well if it doesn't meet all your needs.
It runs great on Wine, I use it all the time for quick notes and todo lists.
It runs but has always felt lumpy to me.
It is kinda interesting that the only software program I miss when on a non-Windows machine is an open source (and GPL of all) replacement for built-in Notepad, developed by an independent engineer.
I am the owner of TimeCamp app that can track usage of desktop apps.
75% of office workers that use Google Chrome use Notepad++ on Windows.
That's so cool to know! Is there anywhere one can go to read more interesting stats you've collected?
I just prepared some data https://docs.google.com/spreadsheets/d/1C73B9XI14rLxYD_4kedG...
we are migrating to Clickhouse so it will be easier to get some interesting stats soon, then from MySQL ;)
feels like forbidden knowledge... I guess any app devs know things like these if their software's used widely enough like chrome/steam and your various motherboard software suites and crapware installed by laptop makers
There is still no real equivalent on Linux. Kate seems nice but its session management isn't ideal.
Honestly I want to take Scintilla or whatever and just add in session support, syntax highlighting and spellchecking, and then I'll have my perfect editor.
Cudatext https://cudatext.github.io/
Textadept (Lighter but niftier) https://orbitalquark.github.io/textadept/
You might take a look at [SciTE](https://scintilla.org/SciTE.html), a light weight wrapper around Scintilla, with lua scripting support. It’s been my non-IDE editor for years on Windows and Linux…
I love SciTE but it feels like a technical demo compared to Npp.
Micro editor (https://micro-editor.github.io/) works best for me but it's terminal-based.
Scite has 2/3 of that anyway. There's some support for running a spell checker, but I'm not really familiar with how smooth or not it can be.
NPP style sessions and color themes are all I would really need to add in. One of these days...
We have it on our work laptops. It’s decent. But it does not even have markdown editing out of the box. You need to install a plugin. I cannot do that without proper rights.
Other than that it’s pretty good. Like BBEdit on a Mac.
Edit: I rather miss markdown rendering, not primarily editing. Should have been more specific.
That's the great thing Markdown though - you don't need a plugin to edit it anywhere!
You could try the portable version [1]. Not so easy to update afterwards, of course, and plugin installations and updates might need some extra steps [2] but having a zipped backup / ready-to-go package, with everything configured as desired, can come in handy.
[1] https://www.softpedia.com/get/PORTABLE-SOFTWARE/Office/Suite...
[2] https://community.notepad-plus-plus.org/post/86702
It's unfortunately because they installed it with an admin user. If they would have installed in your user context you'd be able to. See if your help desk can reinstall it that way for you.
Notepad++ was a life saver in my early days of needing to open and edit large files without having the tech literacy or familiarity required to use an actual IDE. I was a Windows "tinkerer" for a long time before learning programming and getting into engineering, and I suspect I'm not the only one on HN who got started that way. It's probably the first editor I used with line numbers, tabs / multiple view panes in one window, and customization options.
I can't say I use it as often these days, but it's still installed on my PC at home and it's a reliable tool that I think back on fondly. Without it, I might not have "leveled up" to more advanced tools later on.
I can finally take it out for drinks as a thank you.
Please don't, that will compromise its reliability.
Is there anything similar and lightweight that is cross-platform(or at least is available both on Linux and OS X)? I am not a Windows user, so that's a secondary priority for me
I've used Geany for 10+ years on Linux and Mac. Very similar to Notepad++!
I'm working on a multi-platform code editor similar to notepad++ and some new editors like Zed, called ecode, that tries to be a fresh take on code editors using some modern tools and technologies like LSPs. I started working on it after using Geany (which was the closest alternative to notepad++ in Linux) for many years but finding Geany lacking some essential features for my needs. ecode is developed with speed in mind and has a very fast startup time. It might be a good fit for your search.
[1] https://github.com/SpartanJ/ecode/
Check out NotepadNext ( https://github.com/dail8859/NotepadNext ) and Notepadqq ( https://notepadqq.com/s/ ), albeit last one is not maintained anymore. SublimeText is of course the most lightweight alternative, if you don't mind commercial software.
kate is kind of there, but it doesn't launch fast like notepad, so you pretty much have to leave it open. There is also geany, that is pretty good
To help many here understand Notepad++, would someone introduce a curious Vim user to Notepad++? Please don't make it into what is better or worse, but what capabilities does each have that the other lacks (not an exhaustive list, of course), what do they both have but implement differently, what uses are in Notepad++'s wheelhouse, etc?
I've heard of it for years, of course, but I don't really know it beyond 'GUI advanced text editor'.
I'm not sure if others have it. But notepad++ had a pretty neat way to mark lines from search and do various multiline editing that I've always enjoyed.
I enjoyed it's transient new file tab without needing to specify a file location.
I like its find and findall and count better than other editors.
> I like its find and findall and count better than other editors.
Do other editors miscount?
If you don’t know vim, notepad++ is fast on big files and has syntax highlighting for many languages. But vim does both better.
Notepad++ is more windows in style with clipboard etc than base vim is.
It depends on how big 'big' is. Years ago I was working with large CSVs - several hundred MB - and Vim took forever. I found some other text editors that specialized in extra-large files (I wish I remembered the names now), and the one we tried worked like magic.
UltraEdit is really good with large files.
At some point you’re in grep/sed/awk/duckdb/streaming data land.
> duckdb
Not sqlite, out of curiosity? which do you use when? I'm going to need one of them soon, which is why I'm asking ...
FWIW, the aformentioned text editor working with the 200+ MB file could edit the entire thing almost immediately (at the UI level; I don't know what happened in memory). Each record was less than a screen-length, so maybe 100 char/line conservatively, so maybe 2 million lines. iirc I could insert a character on every line without problematic latency - my memory says mabye 10 seconds, but unless it was a dirty operation, that can't be true?
Does anybody know if the search window is still a new popup window?
Something that always made me prefer to go use other editors. Or perhaps if incremental search support regular expressions?
I don't mind the search popping as a new window. While I'm not using ++, I still use the feature when using Find All, and the new window expands to show the individual lines in the file/folder at once. Looking for each instance with Ctrl-G type of searching doesn't require that full window to remain open
I wish it would get LSP support. There are some plugins but they seem buggy/ incomplete/ abandoned. It could be a nice lightweight alternative to VSCode.
NotePad++ and TaskWarrior are the only software projects I have ever donated money to. I wonder if that says more about me, or about them.
Great little editor. Best thing to happen to Windows.
I say it as a Mac user. It is the one thing I miss after switching away from Windows.
NPP is one of the must have apps when I install a Windows system. Now I mostly work on Mac... feel happy with CudaText: https://cudatext.github.io/
I use it every day. Thanks Notepad++ team!
I still use this on my work computer. The second Zed releases their Windows port though, its as good as gone.
Notepad++ was my first editor of my own choice. In the end, not something I wanted to keep around, but It's certainly something I would recommend to people who are just getting started in IT.
I use notepad++ mostly just as a text note keeper. I open a new file, write something in it, and it will stay there forever, no need to save it.
One of the things I'm most proud of developing is dark mode for notepad++, even though it was a relatively simple contribution.
My contribution was adding "scrollable tabs" to it way back in the day and fixing a nullptr reference .. I did enjoy how simple the code was to actually grok and maintain, especially compared to some other FOSS projects of the day
Has anyone built a co-pilot-like plugin for Notepad++ yet? Before reading this post, I wasn't even aware that Notepad++ had plugins.
Some of my favorite plugins:
- Hex Editor Plus: Gets disabled every update due to “instability” but has never caused issues for me.
- XML Tools: Schema validation and XML formatting
- JSON tools
- (Text) Compare
For cars/music, 25 years seems to be the accepted definition of classic. It's a true sign of you're getting old when the music you listened to in your teens is now considered classic. Does software have that same definition of 25 years? There's very few apps that I can think of that I still use for that long, so reaching the status of classic software is one hell of an achievement. Abandoned software should not be qualify as classic software.
Fond memories. Look up also Crimson Editor from the same period, great editor.
It is a great piece of software. I use it often.
I remember my college roommate, around 2010, using Notepad++. I assumed it was fairly old at that point given how simple and solid it looked. Way to go, Notepad++ for building something that's standing the test of time!
I used Notepad++ to ship many projects back in my windows days. Thank you.
Is there a Linux version? GEdit could use improvement.
vim beats all of them
It's all I need.
On Windows, I uninstalled notepad+ wordpad.
Quick editing for everything with Notepad++ and Plugins.
really really miss Notepad and Notepad++ on macs. No text editor comes close to these.
And yet, this text editor too loads the whole file into memory when you open it. No modern text editor really should do that and support files of essentially arbitrary size by loading at most a few gigabytes around the cursor.
It does have the benefit that if the file changes or is deleted then you can carry on working with the old version. (It notifies you when this and lets you choose whether to reload/close.)
Wouldn't windows not let you do that if the file is opened exclusively? I also assume you can retain a handle to a "deleted" file on windows, like you can on *nix machines.
I think you're just restating the same benefit in a different way: you can modify or delete a file (or even just open it without modifying it) in another process while Notepad++ has it open.
How would you calculate line numbers if you did that?
Thank you to it's creators. I've used Notepad++ to make a living for over a decade (front end web designer). Started to use Sublime text (when I was pushing code into the repo) but past few years just Notepad++ and Notepad to design web apps and sites.
My running todo list of 5 years is a work.txt on my desktop that I always have open in notepad++, and I will never change
Notepad++ is so based. It's a traditionally well-made native app, fast and lean, with a dense and useful interface, which is a breath of fresh air amidst a sea of Electron & Co. bloat that comprises modern apps.
Also has a nice logo for a FOSS app. Branding is important, even for FOSS, which so many unfortunately fail at. If your software creation is associated with a foot or a rat, then you're doing it wrong.
In defence of both Xfce and rodents, the software is designed to be fast, lean and nimble - just like rats. It's only a cultural association with our own, human filth that gives rats a bad reputation.
I put IrfanView on every windows machine I use. It's a very handy and lightweight image viewer. But the logo is an animal ran over by a car, I think? I've had people ask me about why I have 'that dead animal' icon on my desktop.
And still no Mac version
Notepad++ and FileSearchEX, a great addition to Windows.
I expected to see some archaic screenshots not gonna lie. The article disappointed.
All hail
When I use windows npp was 1) my editor of choice and 2) my scratchpad of choice.
I would just keep pressing ctrl+n whenever I needed a fresh file and never close anything.
And now I'll go cry in a corner, damn I'm getting old.
Notepad++ is the single biggest reason I prefer a windows pc over a macbook. It's such a no nonsense app with exactly the right mix of features and usability. One of these days I'll ditch vs code in favour of np++ for all my editing needs.
Closest Notepad++ alternative I found on Mac was CotEditor - https://github.com/coteditor/CotEditor. Has all the basic features apart from plugin support.
You could run it via wine if that is really your own hangup from switching to mac.
I consider Textmate the notepad++ for MacOS (it's great, but then again I can't stand working on windows).
It is not Notepad++ but you can still run Sublime Text or BBEdit and others (like Zed) on Macos. No need for VS Code.
There is also PSPad on Windows which is similar to Notepad++.
And to celebrate we're rewriting it in Rust /s
Ignoring the /s, that would actually be very welcome.
I haven't used Notepad++ since they were exposed for having a CIA backdoor, which they "fixed" after it came to light.
https://notepad-plus-plus.org/news/v733-fix-cia-hacking-npp-...
It is not Notepad++ fault. Essentially, the CIA made a modified version of a DLL included with Notepad++ that contains a backdoor, but it is not in the official version of Notepad++ and you can't get it by normal means.
The fix is just an improved signature check, so that Notepad++ detects if that DLL has been tempered with, by the CIA or anyone else, or by a virus. But as Don Ho himself said, it is a rather weak protection, for that specific attack. Notepad++ is free software, the CIA (or any malware author) can make a version with Notepad++ with a backdoor and there is nothing the author can do, it is true for all free software, and most proprietary software too.
But Don Ho being Don Ho, and because it is the CIA, he had to make a rant about it. I don't like his attempts to push his political opinions with Notepad++, but that's his software, his rights.
> I don't like his attempts to push his political opinions with Notepad++, but that's his software, his rights.
His opinions are pretty much just ethical stances, so I have no issues.
The existence of a hacked DLL doesn't mean notepad++ had anything to do with it.
It doesn't matter. It was enough for me.
I don't understand. Once CIA has access to your machine, they can replace any DLL and have it be loaded by any software. You'll have to stop using all software with dynamic dependencies, why single out Notepad++?
You either didn't read your own link, or didn't understand it - NP++ uses a DLL that could be separately backdoored; the backdoored version wasn't shipping with NP++ installations.
You could in theory do something similar with literally any Windows application that links a DLL (i.e. virtually all of them).