Learning NeoVim

neovim logo

I first heard about vim your typical way, A professor on my Software tools module was the power of vim commands and its use as a text editor. However, like many I dismissed it and when about my life in VSCode and occasionally IntelliJ.

About a year and a half later I came across a video by The Primeagen going over the benefits of vim. As a student coming up to their end of year exams I was searching for all possible methods of procrastination as so now was the perfect time to begin my journey into vim commands and NeoVim.

The Initial Struggle

Being an arrogant uni student I of course ignored all the advice of beginning with a vim command VSCode plugin and instead jumped right into NeoVim, downloaded the first config I found and opened my brand-new editor. Instead, I was greeted with an odd looking blue screen and no idea why. I spent the rest of the day trying to solve this and ultimately decided that maybe I should listen to the advice and begin with the commands.

I began to learn the commands, scribbling them all down on a piece of paper as I went. I could see this youtuber using vim-be-good plugin, however, I didn't even know what a plugin was resulting in me hating this whole process more and instead going to the vim game vim-adventures which lightened my mood and motivated me to give this another go

Creating My Config

On my second attempt into configs and plugins, I decided to start at the beginning. My plan was the process of writing my config would in turn get me better at vim commands along the way. I began with adding a custom font, this bought me back to the dreadded blue screen I saw before, however, this time I could actually see the cause of this issue without the multitude of other plugins. I realised that my Mac terminal does not support true colour, and so changed to ITerm I was finally understanding.

After many tutorials I finally completed my config using packer, added in my favourite remaps and settings and went into the world to tell everyone the joys of NeoVim (something my girlfriend lost enthusiasm for after the 8th conversation).

Using Tmux

After some time I decided I wanted more, I could see people with terminals set up alongside their setups and I wanted to know how. I began a small dive into Tmux and that's when I discovered another level of control. Soon my rants turned from just vim to the terminal as a whole and how I have so much power with this tool.

I still feel I have much to learn about the terminal and its powers and look forward to annoying my girlfriend once more with a new rant about my new found powers.

neovim with tmux

Conclusion

Overall I loved this process. It's turned programming back into more of a game as I code daily, so I can become a vim God and better programmer.

This has led me to not only understand terminal more but prompted me to want to be a better programmer and learn more outside of class, causing me to:

My NeoVim Config

Further Improvements

If I create a new config I will like to make the following changes: