Currently, I use Neovim on Arch Linux, so this guide will work well on Arch Linux only. I will update for another platforms in future.
This configuration supports (includes syntax highlighting and autocompletion) for these main languages:
PythonJavascriptTypescriptRustCC++GolangHtmlCssLuaCmakeJsonDockerYamlJavaScalaC#
You need to install these tools first:
- neovim
python3.+nodejsandnpmgcc- luajit
- stylua
- pmd
- java
- dotnet-sdk
aspnet-runtimedotnet-runtime- golang
- rust
- cppcheck
In order to have all the newest features, you should install the Nightly version.
And also need to install luajit by command: sudo pacman -S luajit
I've used python3 as a default version on my mac. If you use another versions of Python.
Please edit the g:python3_host_prog variable to your probably path of Python in user-config.lua file.
If your machine doesn't have any versions of Python, you could install follow this.
After install Python, you must install pynvim
pip3 install pynvim
There're a lot of plugins that use external packages (like language server protocol,...) of Neovim. And we need to install Nodejs and npm via download or via package manager.
neovim Nodejs client is also needed:
npm install -g neovim
- Need to build a bash script to install it automatically
- Currently, you can only clone it into your
$HOME/.configdirectory and fix it manually.
and then type to the terminal command:
nvim
to open the editor first, then run command:
:Lazy
then press: I or S or U
The languages servers is automatically install later in mason
For debuggers install
I use dap and mason-dap to install debuggers
You can config your settings in config/init.lua file.
Because this configuration using which-key.nvim. So you can see all keymapping when you almostly type in normal mode and visual mode.
- NotImplemented
To use lombok for your java project, you must put these line into your pom.xml file at dependencies tag if you're using maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
<scope>provided</scope>
</dependency>
- refactoring the whole files
- completely config nvim-dap
Thanks to all authors of these plugin.