posts : editors


returning to vi

the editor war is a really funny microchasm of the (mostly) linux community. i fell into camp vim quite early, figuring it out on windows in gvim because i hated the blue wallpaper of powershell for writing code and i didnt like cmd beause it had less features. after a super brief phase i just went back to typing rudimentary c++ code in visual studio for my school class, enjoying intellisense and a built in compiler button. eventually, i ended up deciding to put linux on a pretty old pc that was sitting in my family's basement. i put puppy linux on it because that was the only one i had heard of and i did zero research. however i kind of hated how it looked visually so i did some reading on the linux basics and put on ubuntu, starting my distro-hopping spree which lasted a long time. i didn't actually write any code on that computer, but eventually my distro-hopping took me to install arch. this is plenty before the archinstall days so i put on a youtube tutorial and by a stroke of divine aid it worked first try. i used nano to change whatever config files because all the guides online don't even try to get you to use vi, and for good reason. lots of prospective users would be terrified to continue if they had to wrap their head around modal editing off the bat. however, i remembered my foray into vim and tried it out again. i started using it to do edits and even write some code and discovered the available plugin systems. i was delighted that i could add some intellisense and syntax highlighting and themes and whatever. thinking back, i had no idea what emacs was for quite a while. emacs gets a lot less publicity than vim does, and i think a lot of it is memes around it on things like reddit where 'exiting vim' is one of the only jokes the programming meme communities can make. the only jokes emacs users i see are xrays of horribly mangled hands and a caption reading 'emacs users typing ctrl + u + 5 + b to move down one line' which is way scarier than exiting vim in my opinion. either way, vim seems to have the upper hand.

fast forward to today, i've been using neovim for over a year as my main editor. this followed a long period of using vim intermittently but mainly just using something like sublime text (absolutely proprietary) or notepadqq (great linux port of notepad++) to type my code in. very recently, i was working on a little quality-of-life project and i realized how slow the launch of neovim was (at least, it was noticable). i have bloated it with enough plugins that it has noticable delay upon starting up. while i don't particularly care, i decided it was time to return to the roots for a bit. i'm typing this post in plain vi, which feels nice. i don't plan to replace neovim by any means, as the plugins really do create a more of an efficient editing experience (i hate the word 'experience' in this context i don't know why i used it), but it still feels good to type stuff on a plain black-and-white screen. it also feels pretty good to not rely on intellisense. it just feels more pure.

while i'm thinking about editors, i feel like vim is the only editor i even tolerate anymore. i can't stand using arrow keys or clicking around the editor window anymore and i don't have the energy to re-climb the learning curve of a new editor like helix, however nice it may be or whatever advantages it may have. unless i am held at gunpoint i will never type in visual studio code again. that editor tries to be good at everything only to feel crappy to use and rely on extension crutches which are so bloated that with a reasonable number of extensions it took multiple seconds for my instance to load. i curse my past self for being excited to go and try new vscode extensions only to wonder why the program was so slow. it supports vim emulation, at least, but in my opinion if you're going to emulate vim you may as well commit to it and reap the rewards of a low-overhead but powerful text editor. i realize the irony in fleeing the bloated, extension-spamming landscape of visual studio code and running to bloat my vim install with overhead like CoC (which runs nodejs) but i justify this by checking the resource footprints of them compared to each other.