A.K.A: The endless research for the perfect (01) code editor (potentially IDE)
My journey began years ago when the programming part of my job wanted to be more pressing in some way.
Anyway I’ve been a “script guy” since forever: mostly Bash, Python, Ruby, Markdown, Asciidoc
My path has been something like this (chronologically speaking):
- Brackets
By Adobe; Electron app (I think); not lightweight (02); now discontinued; forks: Brackets.io
I’ve used briefly Adobe Brackets a log time ago (~8 years?) right before I’ve discovered that everybody used Atom, so I made the switch. - Atom
By the Github guys; lots of plugins; nice to use if I don’t install too many plugins; Electron app; not lightweight; now discontinued; forks: Pulsar
Atom was almost perfect even though it has always eaten my RAM, but at the time I had a gaming laptop with 16GB of memory and Linux so I did not notice it to much
Eventually, news appeared about Atom to be discontinued so I began searching a new candidate and I landed on VSCode in the VSCodium variant. - VSCodium
Built against VSCode source and binary released under MIT license; lots of plugins; nice to use if I don’t install too many plugins; Electron app; not lightweight; less likely to phone home (main app telemetry is disabled but it is not always the case for plugins they said).
Years passed but sadly the memory of my laptop shrinked to 8GB (the magic of benefits administration!) so it became a bottleneck.
On first OOM murder I decided that I didn’t want to run browsers other than the app I used to surf the internet and the one to read emails (oh and the other one for the meetings).
So I started searching for an editor that was: free and open source, lightweight but not too minimal, extensible and with a GUI, still active as a project.
- Geany
I used it shortly as I didn’t like the interface at all :-( - Gedit
The basic editor of the GNOME DE, I ran Xfce at the time so it almost fitted.
Interface was clean enough and almost pleasant to use for my needs.
But Python appeared at my job so I needed a code editor with better integrated linting/code snippets/completions ecc.
In the end I turned to a more hardcore solution: vi… ehm vim, no no it was Neovim! - Neovim
Super lightweight; lots and lots of plugins; needs to be configured carefully
I did not configure it from the ground up (no time!) but I used a tool which did it for me (LazyVim).
It has sane defaults, IIRC I edited only some shortcuts and something related to Black.
Albeit it has no GUI, I used it for months and I was thinking it was Final.
One day it broke after some plugin update, I can’t remember which one but I do remember the error was clear in no way at first glance.
I fixed it somehow. It broke another couple of times (not the editor itself but some plugin), it gave me a true sense of instability which I didn’t need.
Next.
Was it so difficult to have more RAM? Yes.
Was it so difficult to have a decent editor? I still do not know as today.
Let’s try with some obscure/unknown/niche projects…
- Lite XL
Fork of Lite; super lightweight and fast, easily extensible via LUA.
This was a surprise but the interface and minor bugs put me off (word wrapping, git integration).
Anyway it is a very good editor. - Pragtical
Fork of Lite XL; same feelings as about Lite XL. - Lapce
Written in Rust (so it has to be good! \s), like Lite XL it’s very lightweight.
It seems not there yet but it’s very promising. - Pulsar
Atom is back but but… here we go again, my free memory is gone! - Theia IDE
Wow is this VSCode again? Comparison to VSCode - Zed (Ok not so unknown nowadays)
By a former developer of Atom; young compared to other mainstream editors; lightweight; too centered on Github Copilot (can be disabled); not so many plugins; clean interface
I really like it but the fact that I failed to run it in a VM (it needs direct access to GPU somehow) it’s a no-go for me. - Kate
The advanced editor from KDE. It stays between Kwrite (basic) and Kdevelop (full IDE).
Written in C++, can run external tools via keyboard shortcuts.
For scripting and small programs it’s very good. It’s very configurable and supports LSP via official plugin.
The interface can be reduced to the minimum: vertical toolbar on the left (filesystem, git, symbols, ecc), tabs bar, status bar, hidden main menu.
I’m trying to stick with Kate at the moment as I can’t found big issues with her.
Notes:
- Not really?
- Compared to a browser