why vim?

This question I think should be asked after why and text editor ? so lets start there.

why a text editor?

Currently we have what seems to be unlimited choices for development environments, from IDEs to text editors to agents that can code on thier own that do the work for us. Why should we care about what the medium is ? why does it matter ? shouldn't we choose what is the easiest to use ?

This is a question I can't answer not for me and certainly not for you.

But what I can do is ask another question. why should you or anyone use Vim? And hope that it sheds a light to make it easier.

why vim?

The history of text editors is long and if you ever get time to look into it, its pretty interesting but that might not be enough of a reason to use text editors.

But if you have ever gone on a rabbit hole of YouTube programming videos, you might have seen them talking about Vim. To some it is the cheisel passed down from the gods, to others it is a tool that reinforces the idea of not using a mouse while some use it for bragging rights, others for productivity.

Although all these reasons are valid albeit subjective, so why should you care about Vim?

Well for one it is not the only highly optimizable text editor out there, others like Emacs exits and obscure ones like Kakoune do provide a certain level of productivity. They all boast the productivity and speed in their own ways (i dont understand people who use pure vi and i have given up on trying). And if yo u have noticed all of them have their own ethos and culture their users will swear by (a little to over the top for some if you ask me ).

So we need a better reason to use it than just the fact that it is a hyped text editor or fast, So here are my two cents. I view Vim as a blank slate like a canvas waiting to be painted. It comes purely bare bones and you can mold it to fit your habits, your thinking and workflow. This is the beauty of Vim. It is not meant to be badge of honor or a cult but a tool that you can use to express your ideas.

So knowing all this where do you start?

well I recommend starting with a blank install (I would recommmend Neovim , if you don't want to deal with vimscript) and then slowly ge the lay of the land.

add a few plugins here and there to make it usable, couple of themes here and there, something to make the background blury.

if you want to all in with prebuilt configs thats okay too, but I highly recommend you take the time to look at the plugins and see which ones you like and which ones you don't.

I would be remiss if i didn't also mention how good it is for learning a new language or programming as a whole. In my day work I deal with embedded systems and it is a pain to deal with drivers and libraries. In this case i really heavily on my IDE to fullly build the make file and flash the device for me. In this case I try to slowly use Vim and link my libraries manually not because it is needed but because I want to know the ins and outs of the system. But then again this is only my opinion.