Recently, I’ve seen an interesting article: some dude wants to create a new text editor. I’m not in the context of all this, so I’m not going to comment on that article. It’s just started me thinking on the topic of text and code editors in general.
Here, I’d like to briefly summarise my experience working with different text editors during my career.
Windows#
When I was a kid, there was that notepad.exe app in Windows. I used to win+r → notepad
it, and I just used it for almost everything. Later, I’ve found Notepad++, which is still a thing in 2024 (oh, wow).
Windows is my high school years. It’s CS 1.6, WC3 TFT, and Q3 Arena launcher. Sometimes it’s a playground for Adobe Creative Suite (or whatever it’s called back in 2003, over two decades ago). Sometimes it’s a virus (bro), sometimes it’s some weird school-years programming in Pascal, Delphi and C++.
I was very fortunate to jump off that weird system early on (WinXP was my latest, with occasional interactions with Win7), after basically my first years of work. By which point I used Linux most of the time.
These days, I use macOS + Linux most of the time.
Early Linux#
In my early days Linux (mostly 2008—2010) I used gedit
. When I was in need of editing code, I used Kate. I wasn’t looking for any alternatives back then.
macOS#
When I switched to macOS, I used TextEdit in a similar way I used gedit
.
When I was in need of editing code, I used
- Coda
- SublimeText
- Atom
- and much later, VSCode, of course.
These days, I use VSCode and NeoVim (but more on that later) on macOS. But, I don’t use macOS too much.
Today’s Linux#
Since I switched back to Linux in 2019, I’ve been inspired for some ‘learn vim’-like articles (and ‘learn emacs’ too) and tried both fundamental text editors. I still don’t get emacs, even I tried many times, including SpaceMacs (which worked for me, when I’ve been trying to switch to org-mode from markdown).
I tried vim, and it clicked from day one. Later on I tried vi, but I still don’t like it, at all. I can use it only when vim/nvim packages are unavailable for some reason, and only if I’m in need to fix some config on some server.
I’ve been using vim since 2019 till August 2023, for over 4 years. Since Bram Moolenaar passed away, I decided it’s time to explore other text editors. I tried
- helix which I like, but I didn’t understand its different logic, and wasn’t motivated enough to learn it
- lapce which didn’t click with me
- kakoune which I like, but I never sticked with it longer than a day
Among others, I tried neovim, and it clicked immediately. I cannot even say what’s different with vim. For me, I was bought with the changing cursor in different modes. I liked that feature immediately, and went all-in with Replacing vi and vim with neovim.
I have most of these text editors installed on my machines, and I try it time and again, out of sheer curiosity. But most times I’m in neovim. I use it to write all my posts for all my blogs, and it works wonders to me, even for a plain text editing.
I tried nano and micro too, but they just didn’t click, I don’t like them. I don’t even have them installed.
nvim#
For me, neovim closes the gap for everything. It’s my go-to editor for basically any text, and I cannot use even VSCode after that. In combination with ranger file manager (or sometimes lf, which is the same thing at its core), it’s an ultimate workflow for me. It lacks distractions and is completely keyboard-driven.
Why would I want to have a terminal in my code editor, if I can have my code editor in my terminal?
Also, I use the GUI app — Neovide — for when I want to open some file from my Nautilus app.
- Which is my preferred file manager for GUI. I’m not living in terminal 100% of my computer life.
You surely noticed that most of these text editors are terminal-based. Yes, they are, and the thing is, as I know some basic features of them, they’re incredibly usable to me. I don’t really want to be that guy, who says something like ‘it’s all invented already,’ but nvim + neovide combination is plenty for me to fill all my text editing needs these days.
I can use notepad, when I’m at Windows for some reason. I can use TextEdit or VSCode when I’m on macOS, and it’s not my machine (otherwise, there’s nvim too). But I would prefer neovim any day. For me, this simplicity of no interface and key-combinations is just what makes me productive with my computer these days.
P.S. There’s this new-and-shiny modern-and-awesome Zed Text Editor. Since I’m not on a M-processor MacBook these days, but on a set of different computers, I have no use for this editor. More likely, I’ll try it one day. But for me, it’s in the same league of Kate, VSCode and SublimeText. It’s a GUI app, with all these panels I have no real use for. It distracts me, and I cannot get used to it. Looks like, it would be just too difficult to take me off nvim now.
Reply by Email