Skip to content →

My neovim setup

Introduction

Neovim is a highly configurable and extensible text editor that is a fork of the popular Vim editor. It addresses Vim's limitations by providing a more modern and user-friendly experience. Neovim offers asynchronous plugins, an improved scripting interface with Lua, and a more intuitive user configuration system. It also has a built-in Language Server Protocol(LSP) client, thus enabling code completion and other programming language IDE features.

Configuration

Depending on how you view it, one of the downsides or upsides is the initial configuration work needed to set up Neovim to your liking. I have my setup open-sourced at fredrkl/nvimsetup: My Neovim setup (github.com).

The details are in the GitHub repo, but in short, I use the following:

  • The Lazy plugin manager for managing plugins. It is one of the modern plugin managers with improved capabilities over Packer
  • The Nvim-tree for the file viewer
  • The Nvim-lsp for all language server configurations. Code completion integration with LSP was the most challenging part due to all the moving parts.
  • Copilot and Copilot chat for code completion and optimization.

Additionally, I have plugins for versioning, markdown preview, and grep search. The wich-key plugin shows you the keybinding mappings.

Benefits

The main benefit for me is that I enjoy working in this setup. I keep my fingers at the home row throughout the day and can quickly navigate through the code. Of course, there is not a huge difference in efficiency compared to something like VS Code, which also has plugins for the Vim keybindings. Vim's initial observation that a coder edits text more than writes turns out to be true in my case.

Missing features

The VS Code LiveShare plugin is great during remote pair and mob programming sessions. There are ongoing projects that intend to extend this functionality into neovim:

At the time of this writing, the live-share plugin has some bugs.

Conclusion

In conclusion, Neovim offers a powerful and customizable environment that can significantly enhance your coding experience. While the initial setup may be daunting, its flexibility and efficiency are well worth the investment. My configuration, aided by various plugins, allows me to work seamlessly and productively. Although Neovim lacks some features like a robust LiveShare plugin, ongoing projects promise to fill these gaps. Neovim remains a compelling choice for developers seeking a highly tailored and efficient text editor.

Published in productivity programming

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x