💾 Archived View for lesogorov.site › glogs › 2309 › Migrating-to-Neovim.gmi captured on 2023-09-28 at 15:54:07. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-09-08)
-=-=-=-=-=-=-
I can't tell you how long I've been using vim.
I remember my first time using vi, using sudoedit because I was blindly following a guide online for who knows what. I remember struggling to figure out which mode I was in, though exiting never was as hard as the memes made it out to be. I started using it more and more, I never much cared for nano and so once I knew vim worked basically like a regular text editor when in insert mode, I used it, if I was already in the terminal. With my use of tiling window managers the hjkl keys got to be fairly familiar and so more and more often in my journey using Linux I jumped to vim when I needed a text editor.
For the first 4 or so years of using it, I ran on the stock config, I didn't even have a separate .vimrc. Then a couple years ago I got sick of needing to go back and replace tabs with spaces in python and so I made a .vimrc consisting of a few lines, enabling relative numbers and fixing the aforementioned tabbing issues. When I first heard of neovim I checked it out, but realized it was really not all that different from regular vim, so I had no reason to jump ship, and anyway nobody likes a splitter. With the recent passing of Bram Moolenaar, it pushed me to consider neovim again due to him being the largest contributor to vim. I can't imagine there will be many more major updates to the original project, though his name will live on in our hearts.
So yesterday I decided to give it a shot. I knew that if I were going to make the effort to switch, I would want to take advantage of what neovim had to offer in regards to lua and better plugin support, so I created a init.lua and watched a few guides on how to get things set up. Most of these guides were quite bad, not really showing what extensions did what, only telling you what you should install and what files you should copy. I stumbled upon lazy.nvim which seemed like a good place to work backwards from, but once I installed it I was shocked by the assault to the eyes which laid before me. The command bar was now a window that popped up in my face, covering what I wanted to edit, the startup could be measured in seconds, there was just too much fat to trim. So I decided to start afresh, translate my old vim config to lua, and add a few extensions from there instead. I've ended up with 4 plugins, 3 if you don't count the theme: gruvbox, nvim-autopairs, nvim-tree, and nvim-treesitter.
This still rather sparse config is everything I think I could ever want. It has proper syntax highlighting with treesitter, automatic parentheses, quotes, and bracket matching with autopairs, looks good with gruvbox (with a few modifications to make it my own), and tree looks a bit nicer than the default netrw. I've also set up a few keybindings now that I know a lot of the default ones already, I was always afraid I would break an important one if I set up keybindings in vim before. Now that I know about the <leader key> + <key sequence> set up those worries have mostly gone away.
I really like neovim, it's just like what I was used to in vim, just with a few extra goodies.