My Neovim Dotfiles
|Title:||My Neovim dotfiles|
|Number of words:||80|
|Created:||14:11 on Monday, 02. January 2023|
|Modified:||14:11 on Monday, 02. January 2023|
My personal configuration (aka „dotfiles“) for the Neovim text editor. The project is hosted on GitLab and can serve as base for your own config. But I advice against using it directly, because it is fast-moving target and some changes may even break it.
The configuration is built around Neovim’s native LSP implementation and uses Treesitter for advanced highlighting, nvim-cmp for autocompletion, neo-tree as file-tree and many more plugins. The goal is to create an editor configuration for software developers, using all the advanced features
Neovim 0.8 or later is the minimum supported version. Some OS-level prerequisites like ripgrep and fd are necessary for optimal functionality of some plugins (particularly telescope).
A working C compiler might be required to install additional Tree-Sitter parsers.
Git is required to install and update plugins
A terminal with True Color support and a NERD Font is highly recommended. Without them, the visual quality will suffer greatly. I suggest either Alacritty or Kitty. Both will make Neovim look much better and increase performance of all terminal-based applications.
How it looks
The color theme is a modified version of sonokai and uses some advanced features like different background colors for special windows like Neotree, terminal and outline views.
The configuration does not use LSPInstall. Language servers are configured manually in
The paths to language servers are configure in
lua/config.lua. You can optionally enable Mason and let
it do all the installation work.
Pre-configured language servers:
- clangd (C, CPP, objective C)
- gopls (Go)
- pyright (Python)
- cssls (CSS and SCSS)
- dartls (Dart and Flutter)
- rust-analyzer (Rust, obviously)
- sumneko_lua (Lua)
- vimls (Vim Script)
- nimlsp (The Nim language)
- texlab (TeX and LaTeX)
- als (Ada)
- metals (for Scala, but this requires a lot of additional installation work)
How to use this.
The config is highly modular. Many plugins can be enabled or disabled by editing
changing the plugin configuration, running a
PackerSync is mandatory.
Where to get?
The project is hosted on GitLab
- Tree-Sitter: Indentation feature is disabled, because it can cause massive memory leaks.
See this issue. You may also change this in
- Color scheme: still some inconsistencies, it’s WIP.
You can write a comment
Please stick to common netiquette when posting comments. Avoid any form of personal attacks, harassment, hate speech, sexism, racism or otherwise inappropriate content. Comments that violate common rules of civilized communication among humans will be deleted without further notice.