Error

Unknown error.

My Neovim setup

2025-03-10

Earlier in February I got inspired by LazyVim and started converting my neovim configuration into a plugin. I must say though, that I am a bit envious to newcomers that can start out fresh with LazyVim, since it just looks amazing. I do think my setup is worth a look, since it’s a bit closer to the core (neo)vim experience, and even though opinionated, it’s easy to fork and make it into your own.

Why I created a plugin

I dont’t think it’s worth the time to move my dotfiles around to different servers, but I do like moving my neovim config around. So instead of having to move my dotfiles around, I simply made a plugin for my neovim that will with very little effort get me up to speed on every server I log in to.

Prerequisites

You need Neovim 0.10.x or later.

If you already have neovim set up, then you want to (back up) and clear out the following directories first:

$ rm -rf ~/.config/nvim ~/.cache/nvim ~/.local/share/nvim;

Installation

$ mkdir -p "$HOME/.config/nvim";
$ curl -L https://github.com/jhthorsen/batphone.nvim/raw/refs/heads/main/init.lazy.lua \
  > "$HOME/.config/nvim/init.lua";
$ neovim;

Plugins

The “core experience” mentioned in the introduction might be a big lie, when you look at the list of plugins below, but the big difference between LazyVim and my setup are all the UI changes.

Useful bash function

This function will invoke “nvim” with a file picker, when called without any arguments.

vi() {
  if [ -n "$*" ]; then nvim "$@";
  elif [ -d ".git" ]; then nvim -c ":Telescope git_files";
  else nvim -c ":Telescope oldfiles";
  fi
}

Final comparison

If you come from VSCode and you’re curious about Neovim, then Lazyvim is what you want. It’s truly a complete experience, but with the speed, convenience, and flexibility provided by Neovim. On the other side, if you are used to working with vanilla vim or neovim, then you might want to try out my setup, for a more minimalistic setup, that you can make into your own.