Get Neovim ready for Kotlin coding.

Setting up Kotlin in Neovim is a wild ride, my friends. Jet Brains doesn’t provide separate support for the language server, so we gotta get creative. But fear not, with some Mason and LSP config magic, we can get syntax highlighting, autoc completion, and more working in Neovim. It’s not as smooth as Intell J, but it’s a start. Stay tuned for updates. 🚀 #Neovim #Kotlin #CodingGoodies


In this article, we will discuss how to set up Kotlin inside Neovim, exploring the different tools and configurations needed to enhance your Kotlin development experience in Neovim.


If you have been using Kotlin for development, you are likely familiar with IntelliJ IDEA, provided by JetBrains. However, setting up Kotlin in Neovim requires some additional configurations to achieve the same level of functionality.

Understanding Language Servers and IDEs

In Kotlin development, the language server plays a crucial role in providing features such as auto-completion and navigation. Unfortunately, JetBrains has not provided a separate language server for Kotlin, making it challenging to integrate with other editors like Neovim.

The Challenge with JetBrains

Despite the open-source nature of Kotlin’s language server, it does not receive the same level of support as other language servers. This lack of backing from the language creators can limit the potential of Kotlin in Neovim.

Setting Up Neovim for Kotlin Development

To begin setting up Neovim for Kotlin development, we need to establish a baseline configuration and test the syntax highlighting, auto-completion, and navigation features. We can achieve this by creating a sample Kotlin project using SDKman and Gradle.

Project Setup

SDKman provides a straightforward way to install Kotlin and Gradle, the build tool for Kotlin projects. By utilizing SDK install commands, we can effortlessly set up and initialize our Kotlin project within Neovim.

Configuring the LSP for Kotlin

When configuring Neovim for Kotlin development, it is crucial to choose between different LSP options. We will focus on using the built-in LSP, known for its performance benefits, and integrating Kotlin’s language server effectively.

Enhancing Syntax Highlighting

Integrating Tree-sitter into our Neovim setup allows us to enhance syntax highlighting for Kotlin, providing a more visually appealing and efficient coding experience.

Tool Configuration for Kotlin Development

In addition to language server setup, Kotlin development in Neovim can be further enhanced by installing tools like KTlint for code formatting and linting. Leveraging tools like Mason and configuring them within Neovim ensures a streamlined development workflow.

Practical Tips for Smooth Development

While setting up Kotlin in Neovim, it’s essential to acknowledge potential limitations and challenges. Integrating Kotlin in Neovim may not replicate the exact experience of using IntelliJ IDEA, but with the right configurations, it can still be a powerful development environment.


Setting up Kotlin in Neovim requires careful consideration of different configurations and tools to replicate the functionalities of traditional IDEs. By following the steps outlined in this article, you can enhance your Kotlin development experience within Neovim.

Key Takeaways

  • Understanding the limitations of Kotlin language server support in Neovim
  • Configuring the built-in LSP and Tree-sitter for syntax highlighting
  • Integrating tools like KTlint for code formatting and linting

Thank you for reading and stay tuned for more Neovim-related content in the future!

About the Author

About the Channel:

Share the Post: