This is a 12 year dream. I have always run a Windows workstation along side a Debian laptop. I am no stranger to Debian. I have a 12 year association with it. I am not a Linux wizard yet but have been adept with it.
Why not use Debian daily then?
My personal computing usage unfortunately centered around consumption rather than creation. I watched videos, listened to podcasts, read technical articles, and browsed social media. On top of this, inertia and great software like Visual Studio, Notepad++, Excel, OneDrive held me back.
Visual Studio is an absolute must-have for all .NET developers. I built small pieces of complex web projects only occasionally. VS Code on Linux is decent for .NET development but it is not the same. Though Jetbrains Rider existed along-side, it is unthinkable to drop Visual Studio. At least for dark matter developers.
Notepad++ is a fabulous software program that had no complete alternatives on Linux. I used it for scripting, text manipulation, note taking, dumping and editing thoughts. Scintilla-based equivalents Geany, SciTE exist, but do not come close.
MS-Office Excel is another remarkable software program with no real alternatives in other ecosystems. It is worth the 5K INR per year. Organizing data, life planning, and creating simple reports are a few of its greatest capabilities. Also, the formulas system is amazing. OneDrive is another great and a utilitarian software program from the Microsoft stable.
So, why now?
I had the most fun and growth when I built things. I love the independence that comes with the experience of building things. As far as I can remember, I was always a tinkerer, thinker, builder, doer and explorer. After a decade or so of inaction, I needed a change. A few things fell into place recently.
Windows is about to get a whole lot more annoying. An increase in ads, baked-in Copilot, and a suffocating push to outlook user-linked usage.
Jetbrains Rider became formidable now for CLI and web app development.
I learnt enough of apt-pinning, backports and makedeb repository.
The last straw is from an unexpected experience. I set up a Win 11 VM recently using the KVM+QEMU route. I noticed that the VM's performance was quite responsive. KVM+QEMU despite all the pain felt worthy. I cannot recommend it enough.
Immediately I decided to remove Windows, install Debian with a Windows VM inside. I will write about various experiments and experiences over the next year. These are some of the sub-projects on my mind in no particular order.
I started using it as my main back in 2006ish, I then switched to sublime text about 2011, then about 5-6 years ago to VSCode. All the time using vim for any in-terminal quick edits.
Notepad++ is easily my least favourite editor of the lot, by several miles, it just seems so rigid and clunky without even going into how it's windows only. Every editor I've used since has been a huge improvement over the one prior IMO
old GUI paradigms ( settings modal, find modal etc)
inflexible and less customizable UI chrome area
Few things I like about Notepad++ enough to actually keep on using it on work workstations:
Plugins ecosystem. I am too entrenched into it.
PoormansSqlFormatter
Tidy2
JSTool
XML Tools
ComparePlus
TextFx2
great built-in editing operations Edit > EOL
great bookmarking operations
Very active development
Way faster than VS Code for text manipulation tasks
Geany with Plugins with is great but misses out on the above stuff
Sublime is the only one and I could use it for a serious amount of time. I only went back because I could not often get it installed in some enterprises.
I'm curious about the plugins as obviously I'm not gonna be familiar with the notepad++ plugin ecosystem now—what's special about the ones you listed?
Assuming edit EOL is just changing the line termination characters, all editors have that don't they? Or does this not do what I think?
Intrigued about VSCode being slow for text manipulation too—I remember this being a big reason I dropped notepad++ for sublime and IMO VSCode and sublime more or less have parity on that front, particularly with vim bindings
VS Code has gotten really fast recently but it is more of a combination of having the right plugin (TextFX in this case) and the general fastness. Someone should ideally just port that TextFX. I thought about doing that a lot of times, but it was a lack of time + lack of skill issue :)
Again I do use VS Code for the occasional frontend work. It is great but for all heavy duty manipulation sometime really is off in VS Code. It could be that I haven't out of inertia tried too much.
I don't know if I can qualifiedly explain what it is about the plugins, they work well and have sane defaults. Notepad++ with all its custom panels, that plugins create a quite a clunkiness in there, but having those separate panels sometimes gives it a unique and flexible usage experience.
About the edit thing, there are just so many options that sometimes I forget that TextFx plugin exists. There are 100 or so options in that edit menu neatly categorized into sub menus like Insert, Copy, Indent, Line Operations, Blank Operations, Auto-completion, Paste Special, On Selection, Multi-select All, etc each having 5 to 7 operations.
Line Operations for example has these:
Duplicate Current Line
Remove Duplicate Lines
Remove Consecutives Duplicate Lines
Split Lines
Join Lines
...
Reverse Lines
Randomize Lines
...
Sort Lines Lexicographically Ascendlng
and 10 or more
Another great thing is the whole design and the options around managing bookmarks while searching. I should write a blog post on it :)
Given those options, you may want to try vim :) It's a bit different in how you interact with it (pressing stuff on the keyboard instead of clicking stuff in menus, plus it's more of an imperative vs declarative approach, i.e. you tell vim how to do stuff instead of what you need to be done; the good part is being independent of what sb thought you may need to do, the bad -- having to learn editing primitives and stuff), but it can certainly do stuff you've mentioned, sometimes with some help from external programs:
dupcicate current line - yyp [(yy)ank_curren and (p)aste];
join lines depends on how you want to join them, in the simplest case it's J or gJ to join current line with the one below with or without space as a separator respectively. You can also combine it with :g or :v and norm or macros to make this edit on lines matching (g) or not (v) a specific regex (e.g. :g/join me/norm J will join all lines containing "join me" with that below). Splitting also depends;
reverse, randomize and sorting can be done via calling external stuff: v10j:.!tac will reverse 11 lines, including the one with the cursor, via calling (!) tac on the selection (v) of the current line and 10 below (10j) and pasting its output in the file you're editing (.) (it'll replace stuff you've selected). Replace tac with shuf or sort for the other options mentioned. Removing duplicates without sorting - https://stackoverflow.com/questions/11532157/remove-duplicate-lines-without-sorting#11532197
Bonus: neovim integrates with vscode quite well, and on itself it handles reasonably huge files without an issue.
Whoa, thank you for the elaboration. As I said in another comment, I was vim user for a short time but it may take a long time to use it again. I don't rule out vim from my OSS life. Who knows what will transpire :)
I never used npp as my code editor but as a secondary program that i kept notes in and would paste text in to manipulate then move back into code editor. It had a rich plugin ecosystem way before that was common. I use Kate for those purposes instead now
I couldn’t agree more.
I had a foot in both the MacOS and Microsoft Windows worlds at the time and can appreciate what a game changer notepad++ became. Having used BBEdit on the Mac since around the mid 90s, it was kinda more like “it’s about time” a decade later when notepad++ was released. I’m not necessarily comparing them feature to feature, but it was a much needed piece of software for Windows. I still have memories of opening up text files and being like … damn someone f’d this txt file up on a windows machine.. again.
I don't like Notepad++ as a text editor for code, but my god is it amazing for taking quick notes. I've been searching for a Linux equivalent but haven't found it yet. My favorite Notepad++ features:
Opens immediately.
Never loses data, and I mean never - unsaved files are restored after crashes, reboots, power outage, you name it.
For jotting down quick meeting notes in a hurry, it's great. The settings are messy and hard to configure though, so I use Vim/Helix for writing code (hobbyist, not professional).