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.
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.
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.
Work only permits wsl1. I use vs code with the wsl1 plugin. The editor runs on windows, but it is as if you're on Linux. Terminal is Linux, Filesystem looks like native Linux...
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.
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.
Lifelong Total Commander user here as well. They're one of those few remaining legacy companies that haven't switched to subscriptions or jacked up prices, and continously release updates at their own pace without any drama.
In fact, I think it's just one guy - Christian Ghisler. Kudos to you, sir.
> 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.
Very similar to my setup, although I alternate between Notepad++ and Visual Studio Code. I do just stick with git-gui for easy chunk/line commit selection.
Synergy and PBP (Picture-by-Picture) with an ultrawide monitor is great! I can split half my screen as Mac and the other as Windows, and the mouse and keyboard just seamlessly jump between the "gap" in the middle of the screen. I switched from a double screen setup (side by side) to an ultrawide and I've been happier than ever.
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.
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.
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.
my relatively myopic view: due to enterprise "laziness", we have been able to enjoy backwards-compatibility for the longest time. x86 has done a lot for this, and i wonder how much future code could benefit from this.
on the other hand, most new code sold is not designed with longevity in mind. everything has support lifetimes, and the same thing gets rehashed under new banner and sold. the incentives are not aligned for long-lasting stuff. can't have old opera buildings if the new concerts set up tents every season.
regardless, C is too big to never get worked on supporting for future hardware.
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.
+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.
CudaText is a wonderful software. I found it after a few years of using SublimeText (and after my current employer doesn't allow me to use it). CudaText is fast and has many plugins to manage every need as Notepad++, despite some roughness in some parts of the user interface compared to ST.
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.
People keep saying notepad++ is great for large files. But for me large file means 1-2 GB, which completely kills np++. For these files I use EditPad Lite.
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 like the small QoL features it has accrued over the years, like renaming new autosaved tabs! It helps me stay organized when I create many unsaved documents to store separate info for a few days.
Any sane text editor won't let you rename a new document until you save it, but it is useful for some use cases.
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.
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.
- 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
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.
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.
https://www.msys2.org/
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.
(waves). Yep, it does "the needed".
"2 is bigger than 1" can take a hike.
I think you're the second-to-last one :-)
https://wezfurlong.org/wezterm/index.html
It was amazing. I've used midnight commander on Linux, but it isn't close to Far IMO.
In fact, I think it's just one guy - Christian Ghisler. Kudos to you, sir.
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.
find/xargs/grep for exploring code, finding definitions, etc.
standard utilities (ls, cp, mv, etc.) in the shell for file management
Synergy and PBP (Picture-by-Picture) with an ultrawide monitor is great! I can split half my screen as Mac and the other as Windows, and the mouse and keyboard just seamlessly jump between the "gap" in the middle of the screen. I switched from a double screen setup (side by side) to an ultrawide and I've been happier than ever.
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.
the wildcard search alone is worth the entry price
been using it for like 10+ years
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.
Deleted Comment
As it stands, I use it frequently - just not for code.
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.
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 :)
on the other hand, most new code sold is not designed with longevity in mind. everything has support lifetimes, and the same thing gets rehashed under new banner and sold. the incentives are not aligned for long-lasting stuff. can't have old opera buildings if the new concerts set up tents every season.
regardless, C is too big to never get worked on supporting for future hardware.
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.
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.
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.
Any sane text editor won't let you rename a new document until you save it, but it is useful for some use cases.
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
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.
A place to share... workarounds would be nice.
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.