Upgrading NeoVim Config with Kickstart.nvim

Photo of author

I was exploring how to configure NeoVim for React/TypeScript development and came across AstroNvim. Its beauty blew my mind 🤯!

These are known as NeoVim frameworks. There are more in the market: e.g. NvChad. I don’t remember seeing so many frameworks when I started using NeoVim 3 years ago. I am still using basic init.vim to configure basic plugins, and they don’t look as awesome as these frameworks.

Ui of AstroNvim
UI of AstroNvim. Isn’t it beautiful?

It’s time I upgraded my NeoVim configs to stay updated.

AstroNvim vs Kickstart

While AstroNvim looks super cool, I don’t prefer its hands-off approach to configuration. I like to know what is inside my config files, and why. So I found an alternative: Kickstart.

Kickstart.nvim: A launch point for your personal nvim configuration

The author of Kickstart.nvim claims it’s not a framework; it’s a basic configuration to use as a starting point. Even with the basic configuration, it looked far more aesthetic than my current config.

Here is a 30-minute video explaining everything about Kickstart.nvim by the author himself. If you don’t have the time, just watch the first 3 minutes for a quick introduction.

What I like about Kickstart.nvim

Here are why I like Kickstart:

  • Well-commented config files: It only has a single init.lua file, with plenty of comments.
  • Lua-based config files
    • I used init.vim before. In comparison, using Vim API through Lua felt cleaner.
    • I had to learn Lua separately, but it wasn’t a big deal. All programming languages are the same with few differences. A basic understanding is enough to get things done.
  • Automatic Plugin Manager Installation
    • If you don’t have a plugin manager, it downloads lazy.nvim for you automatically. Before, I had to configure plugin-manager separately from install-script. This simplified my install script.
    • Lazy.nvim seems more modern than vim.plug.
  • Helps you master key binds: I tend to forget about the useful key binds I have. Kickstart uses WhichKey to help you remember your Neovim keymaps by showing available keybindings in a popup as you type.
  • Telescope for Fuzzy Finding: I used fzf.vim before. Telescope is much more aesthetic.
  • Pre-configured LSP with Mason support
    • Ok, I haven’t figured this out completely yet. I have a vague sense of how LSP works. I used YouCompleteMe before to get autocompletion for C/C++, but Java/Kotlin never worked properly.
    • I am hoping to master it this time. I will write up a new post if I manage to get this working. For now, I am keeping the basic settings Kickstart has provided.
    • If you need to install any additional package for LSP, the Mason plugin takes care of it. Again, I have no clue how this works yet.

Migrating to Kickstart from my Old Config

My old config didn’t have many customizations, so migration didn’t take long. I first backed up my old config before switching to Kickstart and then filled in the gaps I noticed. Here are the additional things I added to Kickstart:

Conclusion: I love it

My configuration is much more organized than before. There are still some parts of the configuration I don’t understand, but overall I love it! ❤️

Some next steps I have in mind:

  • Understand the LSP configurations more and configure Java/Kotlin/Python servers.
  • Check out what configuration AstroNvim is using and port the ones I like into my configuration.

Oh hi there đź‘‹
It’s nice to meet you.

Sign up to receive updates in your inbox once a week.

I don’t spam! You can always unsubscribe if you don't like it.

🗞️ Don’t miss the latest posts!

Subscribe to the Weekly Newsletter

I won't spam. Promise!

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments