Modern Neovim — LSP and Remote Development

Set up LSP and remote development environment with Neovim.

6 min readJan 11


Modern Neovim — LSP and Remote Development

In this article, we continue our journey to set up a modern and blazingly fast development environment using Neovim. We will configure completion and LSP, optimize the user interface, and set up a remote development environment with Neovim.

This article is part of the Modern Neovim series.

The Neovim configuration files are available in this repository.

Getting Started

Using the modernlazy.nvimplugin manager, our Neovim configuration now has a powerful user interface to manage every plugin that we need. In this article, we are going to

  • set up completion using nvim-cmp and other related completion plugins.
  • set up LSP using nvim-lspconfig and other related plugins.
  • fine-tune the user interface to use the window bar to display the code context, and the status line to show the connected language servers.
  • set up a remote development environment.


For completion, we create the lua/plugins/completion/init.lua file to configure related plugins.

  • We set up completion for the path, buffer, LSP, and command line.
  • We set up snippets using LuaSnip.
  • We use the icons in the lua/config/icons.lua file.

For the basics, check out the beginner series.




For LSP, we create the lua/plugins/lsp/init.lua file to configure the plugins.

There are many ways to configure LSP. Check out this article for details!




Software engineer, Data Science and ML practitioner.