My Personal Blog

Vim - Taking it up a notch

I've been using Vim as my software for years now, but I've never fully embraced it for all my tasks, for example when I have to write code extensively I usually fall back to VSCode (with Vim motion of course).

Why?

LSP and files.

Let me explain: Vim motions are great for moving around and I love to work in a terminal but I never found the time to memorize the necessary keystrokes or commands to work with multiple file, for me is far more intuitive to have some sort of GUI backup.

As far as LSP are concerned I never actually bothered with configuring everything up. A while ago I gave a shot to Neovim, but you have to do a colossal time investment to configure as you like it. I know that prepackaged configurations do exist but there wasn't a match for me with everything I've tried, although it recently came to my attention that something called kickstart.vim do exist and is meant to solve the time problem that I just described without over-complicating everything to much.

Then I tried Helix and I understood something. I do actually like the well put together experience that they crafted, it is a nice environment for a developer, but I do not like the fact that the motion are all different.

With this experience I've learn that I do want something more than stock Vim, I do not want relearn everything (Helix), and I don't want spend too much time configuring my environment (Neovim), although I do like having this possibility (VSCode).

So where I am now?

I found out this that allow me to integrate LSP to my stock Vim and I've installed without using a package manager (that I would have to install and configure). Then I've configured some basic shortcut that use the leader key in my vimrc file (the leader key by default is '\') I wanted to use ctrl+something but most of the possible combination are already taken and I need to use keys that are related to the name of the operation that I want to perform in order to remember them.

I also configured Vim to use the language servers already installed in my PC (via system package manager) from my Helix experience. I have started to use the fzf utility to open files and learned the commands to open files in tabs or vertical split (I've still to figure out yanking-pasting between files opened in different window or editor but I know is not that complex).

Conclusion

Although is not refined as Helix out-of-the-box now I have something that I like more and I will use more without spending too much time relearning everything or being tempted into an endless loop of customization.

As they say perfect is the enemy of good