I liked PyCharm, but its time to refresh my friendship with VIM.
Context, please?
This is what finally pushed me to move all coding I can away from Jetbrains products. I wanted to to that for a while, because I didn’t want to depend on a closed system and wait until it enshitified. Now it happened. Sad to see, but it was inevitable.
AI scraping public code tempts me to dump all my projects into github to poison the training data
this made me laugh way too much
It’s love to see what it does with a several thousand line function from my production code.
I keep seeing EMacs,Vim, and Neovim recommendations, but I’m out here recommending people use Geany. It’s honestly the best code editor I’ve ever used since its 2.0 version was released. I have it setup with a debugger, an lsp, tree browser, a nice theme, etc. and it’s basically perfect. Free, open source, perfectly customizable, what more can I ask for <3
Edit: just want to say for those ppl already using Vim, it does have Vim mode. So, I think most of the hotkeys should work but I’ve only used Vim a couple times in my life, so I can’t vouch for how well Vim mode works.
Vim is my preferred ‘IDE’ for C++, Python, Bash, and general configuration file editing. It’s got some big pluses:
-
its text editing is superb once you’ve mastered it, but that’s a small part of its benefits when used as an IDE, and ‘Vim mode’ in other environments kind of undersells what else it can do
-
Vim has some great plugins for development. YouCompleteMe is awesome for predictive completion and showing docs, but NerdTree for file management and TagBar for showing structure are amazing as well. They’re all very configurable and they get out of your way.
-
Vim lives in your terminal window, so you can do splits and tabs using whichever terminal you like. Kitty is very fast and configurable and keeps out your way. Being able to have multiple tabs of Vim open, a tab for compilation, a tab for debugging, a tab for version control, a tab for man pages, and being able to flip between them without taking your fingers off the keyboard makes for a very fast workflow
-
Vim makes it very easy to edit binary files and be precise about whitespace changes, so it’s easy to make a minimal change for raising a PR.
If you assign a hotkey to run a macro in Vim, then that can be made very flexible - saving and formatting all open windows, then invoking CMake to do a build and CTest to run all your unit tests can be put on a function key if you like. Trying to tell Eclipse to “just run CMake to do the build” seems to be an exercise in frustration; so many IDEs are terrible at “just getting out of the way”.
Work pays for an IntelliJ licence for using Java. Java is so unwieldy without a proper IDE that it’s hard to code in it without it. I certainly don’t love it, though, and they seem determined to make every new version worse with bizarre new features. Flexible minimalist editing with configurable plugins is all that you really need, and on that basis Geany looks pretty good - will give it a try.
-
The definitely sounds like something to try. Thanks!
Second that. Mu daily driver now. It doesn’t have every bell and whistle but by that same token it is refreshingly lightweight.
I suggest Pragtical too, but it don’t have built-in debugger
Doesn’t anyone else use things like OpenSnitch to audit all outgoing connections? I block all phone homes until something breaks, then investigate.
If you are trapped on Windows for some corporate reason, there is SimpleWall.
We’re all friends here, and friends don’t let friends let apps phone home.
I second OpenSnitch. It’s the most annoying program i run, but the control it gives you over your outbound connections is so worth it from a security and privacy standpoint.
Once you start and run this you get to truly see how many different URLs are loaded when visiting just one website
TIL. Don’t assume people know about this like that, for many we have never even heard of it, but I’ll be using it constantly now
I’m happy I could help!
Can’t, all corporate hardware and their software, too. Not my problem, but also not my intellectual property being stolen to be used in AI, so eh,
NotMyProblemException
.Can I subscribe to your newsletter? I want to hear all your other recommendations.
This is cool, thanks.
I feel like lots of people here use Linux, where you don’t need to be constantly vigilant of your applications working against you…
A lot of proprietary tools like VScode and Jetbrains are needed on Linux if you’re a novice or not yet proficient with tools like EMacs/Vi yet. For example I couldn’t get Vscodium to load an extension I needed so I had to use VScode. But tbh I’m just making excuses cuz I don’t know how to set up a good dev environment :-(
Personally, I find Kate is decent enough for most coding tasks. It does not have an open plugin ecosystem, so I guess, maybe it wouldn’t work for you. But aside from plugins, whenever I see people using VS Code/-ium, I wonder why they keep raving about it.
It just looks like a bogstandard editor with LSP support to me. And Microsoft may have gotten that LSP ball rolling, but it’s supported in lots of editors now…
VScode is certainly a heck of a lot easier to get LSPs working than e.g. vim.
If someone made it actually easy to set up neovim with lsp support that works as well as with vscode, there’d be no reason to give Microsoft any attention at all
Is the LSP support a plugin in Neo-/Vim ?
In Kate, you just install the LSP server, which is typically as simple as
apt install marksman
and then Kate will automatically start it when it encounters an appropriate file.Kate also has a Vi Mode, if that’s what you’re looking for. ¯\_(ツ)_/¯
Where might I find a list of languages/LSPs that Kate supports and will load automatically like that?
Here is the default configuration: https://invent.kde.org/utilities/kate/-/blob/master/addons/lspclient/settings.json
If you do need more LSP servers or a different one for a language, you can specify your own custom configuration in the same format.
Technically it’s even a ToS violation to install extensions from the VS Code marketplace (or whatever it’s called) if you’re using VS Codium. Many are also available somewhere else like the code forge where they’re developed and are under open source or free software licenses, but quite a few important ones are only available through the one distribution channel you’re not allowed to use, and contain proprietary components that can’t be forked to lift this restriction.
Anyone new to these tools will be horrified at how aggressively Windows tries to violate your privacy with unnecessary data collection, phone-homes, remote calls, etc.
Linux is galaxies better in that regard. I still don’t want anything making any connections without my explicit knowledge and consent though, and there are lots of packages and applications that try to unnecessarily exfiltrate data without asking. If you aren’t using an active firewall, you are leaking.
Does running pi hole make this redundant, or are they solving different problems?
They still work together. Pi-hole is an excellent second line of defense, but an active firewall tells you about what is trying to make connections and asks for your consent. Block lists are great, but they aren’t impenetrable. If you want to know exactly what your device and software are doing, you should also be using an active firewall.
You my friend may just have done a great thing for me
I’m glad this is helping people! Please pass it on.
Thanks for that suggestion, I had a passing thought a while back I should look into something like this.
Any problems in your experience? I imagine apps will fail if you’re slow to approve the outbound connection and something times out, so I get all of that, looking more for broader issues this might cause? Specifically wondering about the docker containers I run, all the development nonsense.
Both OpenSnitch and SimpleWall block by default. You can also set a timeout so that if you don’t respond in a certain amount of time they automatically create a permanent block rule. You can also check your rules and activity at any point. If a specific application is misbehaving you can always check its rules and change them, or delete them and start over. They’re very efficient, and get less intrusive over time as you respond to prompts and create more rules.
TIL.
Is this redundant with DNSBL?
Not necessarily. These active firewall tools are much more thorough. They tell you any time an application or service is trying to make a connection to anywhere. Block lists are helpful, but still have gaps. These let *nothing *through unless you explicitly allow it, and ask you clearly and immediately when something that doesn’t already have a rule tries.
This is misleading. For people paying for the IDE nothing changed, data sharing remains an opt-in option. For users of their free licenses data sharing was enabled by default. Still a shitty thing to do especially as it hits a lot of OSS developers but lets criticize that instead of creating memes that are misinformation.
You do add important detail, but I’d make the counterpoint that if the corporation is bullying their least privileged users today, stealing their
lunch moneyprivacy, they’re not going to stop with only them. This is testing the waters for them.Plus - it’s also messed up that they can fundamentally change the nature of the 501©(3) donated version and will likely try to claim a tax benefit as though it’s equivalent to a paid copy.
As the saying goes, if a product is free then that means you are the product
In this case, the product was free to OSS developers not because they were the product, but because they’re influencers likely to end up encouraging their users and/or employers to buy the paid version, so it was the marketing that those people could do that was the product.
This change with the data harvesting makes those developers the product, though.
They’re doing as much of a bad thing as they think they can get away with. I don’t feel a particular duty to carefully acknowledge that in some circumstances they feel obligated to do the right thing instead. If they don’t like the “misleading” aspects of that, they’re free to just do the right thing completely.
JB is cooked
Fuck sending data to companies. Emacs for the win!
Emacs for the vim?
I would watch my back if I were you:#
No, the GP is saying emacs has been ported to Windows.
Vim has too.
Did someone say Oo-mox?
No? Tympanic Tickle?
But what about neovim??
OOTL here. What did they do? Can’t find anything obvious on their News or Releases tabs.
if you pay you can opt-in to share your code
if you use free version you can opt-in to share your code.
if you are entitled to using a paid version for free (e. g. students, educators) you cannot opt-out of sharing your code.
deleted by creator
if you are entitled to using a paid version for free (e. g. students, educators) you cannot opt-out of sharing your code.
That is incorrect. According to the page you linked elsewhere:
For individuals on non-commercial licenses: Data sharing is enabled by default, but you can turn it off anytime in the settings.
(Emphasis mine)
And for all other cases it’s opt-in. No idea how you got from that that you cannot opt-out. It literally says the opposite.
Basically guaranteeing themselves the worst code source.
Unless their goal is to catch common mistakes to improve their code analysis and quick fixes, in which case this plan is secretly brilliant.
From the other comments, it sounds like it’s opt-out for the free tier.
well, I recommend checking sources before jumping to conclusions.
https://blog.jetbrains.com/blog/2025/09/30/detailed-data-sharing-for-better-ai/
deleted by creator
I didn’t jump to any conclusions. It was abundantly clear that what I was writing was hearsay based on secondhand information.
Tbf they will just take from people who opted out regardless no? It’s not new for companies to do that.
You generalize too much. If you think Jetbrains are likely to take peoples code even though they opted out you should substantiate that.
Yeah… I slowly stopped using it and am just using vim, and getting docs from sources.
You can set up your LSP to work with nvim to get docs that way.
And with actual Vim.
But also with butterflies?
I use Acme.
deleted by creator
I think I’d be liable if my code made it through to a LLM
The thought of that is so funny. Not the company that stole the code gets held accountable, but instead the poor schmuck they stole it from to make their AI. Actually this would not even surprise me all that much.
Is it time to go back to the plugin-hell called Eclipse?
Well if you want a real world comparison:
We migrated a project a few years ago from Eclipse to IntelliJ. Outcome:
- Complains about the IDE dropped from around 10 per day to nearly 0
- Onboarding people now takes 1h instead of a day, because IntelliJ knows how to store configuration in a project
- IntelliJ has a built in updater and nearly everything works after an update
- IDE Fuckups: 1 per week (Eclipse) -> 1 per year (IntelliJ)
- Somehow still happend? Just click “Delete caches and restart” in IntelliJ
- No sources and javadoc for a library available? Eclipse: Have fun reading bytecode; IntelliJ: Yeah I just decompiled it for you within 10s
So yeah I wouldn’t recommend going back into hell. Even VSCode and it’s forks are likely better at this point.
It is NEVER time to go back to the hell that is Eclipse.
Go to frigging notepad or kedit before Eclipse.
kate is pretty good for the kind of terrible Python code I produce.
That Notepad? The one with Microsoft AI in it?
no, the plus plus
I like the plus plus.
Honestly? I would suggest using one of the frigging “vibe coder” IDEs over Eclipse at this point.
I would also accept Wordpad.
Not just no, but hell no.
You can’t imagine how happy am I to have never jumped the wagon. To either VSCode or to anything from JetBrains. Began using eclipse on my uncle’s computer back in ~2010. And just never left.
It followed me through c++, java for uni classes and Python. It followed me when I switched to Linux. I’ll bring it to my grave if it keeps going.
Is it the best? Nope. But it’s fucked up consistently enough for me to get used to it well enough.
Are you for real? I seriously cannot imagine anyone willingly using Eclipse.
Willingly is a strong word. More of a “this shitbox is the only thing I know how to use well”. It’s been my first window into programming. And at the time my uncle used it for work. So he taught me how to get around the mess.
Also I’m quite sure Eclipse played a big role in why I despise Java with every atom of my being.
I’ve tired switching to VSCode. But my peewee brain doesn’t process how to use it. It tries to default to the way I use Eclipse. I’ve started managing to rattle off some programs with micro+clang. That seems to be the easiest way out for me. Considering I don’t program for a living.
I feel like an accountant refusing to let go of it’s MS-DOS based software ffs.
To be fair, the community edition IDEs from Jetbrains are open source and any telemetry is optional.
True. But there’s also the fact that eclipse is maintained by the eclipse foundation. a not for profit, I’m not sure how it works for jetbrains’ CE versions. But I assume they’re still handled by jetbrains itself.
shouldn’t matter too much for the open source versions. But there’s my 2¢
it’s time to go FOSS
gedit with coding plugins is pretty decent. i hear kate is even better.
absolutely no need to rely on proprietary software to code.
Please don’t ever suggest gedit or Kate is in the same ballpark as an IDE.
kdevelop?
Kate is amazing, which is not surprising given it’s a KDE app
They can pull jetbrains-mono out of my cold dead terminal.