This is my personal neovim config build over time from several sources. I tried to stick with the default key settings as much as possible and I like it minimalistic so it works on every machine.
- reload config keymap
- debugger for python
See below in subsections for installation instructions...
pythonandpip3npme.g. node.js, search online (for LSP servers and stuff)gccandg++, see below (for Mason, Treesitter, and other plugins I guess)ripgrepe.g. via powershell or pip (for fuzzy finding in Telescope)
On Windows use the installers. It is straight forward for both.
- Search for MinGW-w64 and go to their homepage.
- Go to downloads (https://www.mingw-w64.org/downloads/)
- Search for minGW-W64-builds and go to their github page.
- Select something like this
**x86_64-13.2.0-release-win32-seh-msvcrt-rt_v11-rev1.7z** - Paste
mingw32into C:\ and set the global path variable for thebinfolder.
Note: I experienced errors when using the MinGW 32-bit version (or the compiler). It did not work with neovim treesitter
- On Linux you can use your package manager.
- On Windows the easiest way is via powershell:
winget install BurntSushi.ripgrep.MSVCTreesitter does not work by default with my config, this is so anoying. You cannot read the help, after every key press you get an error. Something like this:
Error in decoration provider treesitter/highlighter.win
A fix might be:
:TSInstall vim vimdoc
And maybe you also need:
npm -g install tree-sitter-cli
:TSInstall latex
On some Windows machines Mason cannot installe language servers when the ConstrainedLanguage mode is on. You can check the mode via the powershell:
$ExecutionContext.SessionState.LanguageMode
Example:
PS C:\Users\kasbrot123> $ExecutionContext.SessionState.LanguageMode
ConstrainedLanguage
To set the Language Mode of the machine to FullLanguage you can change the
registry key from 4 to 8.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\__PSLockDownPolicy
4:ConstrainedLanguage8:FullLanguage
I used vim before and started to move my config to nvim since it offers a lot more plugins and possibilities. But it is a pain in the ass to configure... The integration of lua really upgrades vim but at the same time it is the worst in terms of configuration. Everyone handles things differently and that's why it is out of control to easy configure your text editor. Every package is not maintained after a year, the plugin managers changes regularly, configs sometimes do not work anymore. When installing a package, it will not work for the first time. Error warnings at startup and nothing works. I hate it. It is like writing your own text editor with the same editor.
Update 2024-08-17
Maybe it is better now since neovim is getting more stable and used by more and more people. Still most of the things above are true.
Update 2024-10-22
As I more and more sharpen my config for neovim I think I get the syntax and structure why it is built up but it is still a mess with all the lua functions and personal and super personal config stuff. I plan to update my config once every year in October/November and leave it then. I am still working with packer as my plugin manager and I have nightmares thinking about switching to lazy. But I think there will be no way out...