Emil Atanasov blog

NeoVIM for developers

Using VSCode requires a lot of interactions with mouse and keyboard. Too many professional devs are using (Neo)Vim. You can read more about Vim story in wikipedia, but I’ll stress on that everyone needs at least a basic understanding. Why? Because you will need to “edit” a file on a headless server (for example Docker container or similar) once (or on more regular basis).

By basic I mean - ability to open a file, insert (replace) some text and of course save (:wq) a file. Recently, I’ve decided to dive deeply in NeoVim and understand why so many devs prefer it as IDE for day to day development. (NeoVim is really powerful editor. Without the plugins, similarly to VSCode, it is a plain text editor, which is not suitable for rapid (any-type-of) development. But luckily, it’s possible to enhance its capabilities with many distributions.)

I was really impressed by the “grammar” which allows you to define many of the commands and to combine them. There are many powerful concepts like - registers, macros, plugin manager(s), plugins, configurations, snippets.

I’ll share just a few concepts that are really important and some helpful resources.

There are many other tip and tricks, which I would like to cover. I’ll try keep working with it and will summarize the most useful ones here in another post.

If you want to start with NeoVim please explore LazyVim mode. It’s a nice start. Also use a good Terminal app, otherwise you might face many issues like flickers or different problems.