A personal neovim configuration that is:
- Small (~ 400 lines)
- Single-file
- Documented
Forked from mjlbach/defaults.nvim, which is a starting template meant to be read through and modified. This copy has been modified, so it is no longer that template. It is opinionated: default keymaps, a few utility functions, and only the language servers its author uses.
The pieces you would most likely want to change:
- Language servers -- gopls, terraform-ls and lua-language-server are enabled, nothing else
- Completion -- blink.cmp, configured to keep the ranking the server sends in each item's sortText
- Key bindings -- roughly 39 of them, set by default so the configuration is usable as-is
- Utility functions -- a toggle that turns off mouse, signs, numbers and indent guides together, and a prompted directory grep
None of them appreciably impact startup time.
See the upstream wiki for additional tips, tricks, and recommended plugins.
$ make deps # brew install stylua lua-language-server
$ make fmt # stylua init.luaNix is a purely functional package manager that affords reproducibility similar to a container, albeit with a very different mechanism. This repo bundles a shell with neovim, the language servers listed above, and the tools telescope shells out to (ripgrep, fd). Use it to bring up an identical setup on another machine without installing anything by hand.
- Install nix
$ sh <(curl -L https://nixos.org/nix/install) --daemon- Clone this repository:
$ git clone https://github.com/efrem0ff/defaults.nvim.git && cd defaults.nvim- Start the shell
$ nix develop # flakes
$ nix-shell # without flakes