Files
neovim-config/README.md

56 lines
2.2 KiB
Markdown

# neovim config
I like neovim.
My goal with this repo was a relatively hands-free installation of nvim and everything needed to turn it into a decent everyday editor. It's not as feature-rich as something like VS code, but it should serve as a good lightweight alternative for most things I need to do.
**Note:** I recently gave this repo a major overhaul because I wanted autocomplete, better LSP support, and for nvim to feel like an actual editor. To view the old version of the config, you can view the `legacy` tag in this git repo
## requirements
* Neovim 0.12+
* npm installed globally
* tree-sitter cli (see [here](https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md))
* Git, a C compiler, `curl`, `tar`, and `unzip` on your `$PATH`
See:
* https://github.com/folke/lazy.nvim#%EF%B8%8F-requirements
* https://github.com/nvim-treesitter/nvim-treesitter#requirements
* https://github.com/mason-org/mason.nvim#requirements
* https://github.com/mason-org/mason-lspconfig.nvim#requirements
* https://cmp.saghen.dev/installation#requirements
## installation
Everything required here is handled in my [install script](https://gitea.jovan04.com/evan/linux-post-install). If you want to install just this config manually:
```bash
# install neovim 0.12+
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
sudo rm -rf /opt/nvim-linux-x86_64
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
rm nvim-linux-x86_64.tar.gz
# add /opt/nvim-linux-x86_64/bin/ to your $PATH
# (put this in your shell's .rc file)
export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
# install tree-sitter CLI
curl -LO https://github.com/tree-sitter/tree-sitter/releases/latest/download/tree-sitter-cli-linux-x64.zip
sudo unzip ./tree-sitter-cli-linux-x64.zip -d /opt/nvim-linux-x86_64/bin/
rm ./tree-sitter-cli-linux-x64.zip
# clone this repo to your nvim config
git clone https://gitea.jovan04.com/evan/neovim-config ~/.config/nvim
# it might also be helpful to set up an alias (also in .rc)
alias nv="nvim"
```
## includes
- Lazy.nvim plugin manager
- treesitter syntax highlighting and autoindent
- nvim-lspconfig
- mason.nvim & mason-lspconfig language server manager
- blink.cmp autocompletions
- keybindings (mostly LSP-related)