nvim/README.md
2023-02-11 16:08:50 +01:00

51 lines
2.1 KiB
Markdown

Fully featured neo-vim configuration
====================================
This repository contains my personnal neovim setup, intended to replace my old [vim setup]('https://git.steins7.ovh/Steins7/vim').
Next are a few usefull informations that I mainly wrote for me to remember but that should allow you
to use the same setup as me if you want to.
Installation
------------
### Clone the repository
This will create a new nvim folder in your .config folder, containing all the configuration stuff
```
git clone https://github.com/Steins7/nvim ~/.config/nvim
```
And that's it for the configuration part. Once nvim is started, the necessary plugins will be automatically fetched and stored `~/.local/nvim`. At this point, you are ready to install the external depencies needed for all those plugins to work properly.
### External depencies
Here is a list of all external depencies you'll need:
- universal ctags, ctags won't work (note that arch's universal ctags package is named ctags...), for tagbar
- tree-sitter, for syntax coloration
- rust-analyzer and clangd as LSP servers
On arch, you can just use the following command :
```
pacman -Syu ctags tree-sitter rust-analyzer clangd
```
Once the dependencies are installed, type `:checkhealth` to verify that everything is properly detected. You should, at most, see a warning about node and another about the clipboard.
For clangd to work properly, create a compile_flags.txt file at the root of the project and fill it
with the flags used for compilation (one per line). Cpu-specific flags may cause the analysis to
fail and should be ignored (e.g. mcpu, mthumb, ...)
### Syntax coloration
By default, this config only supports C/C++, Lua and Rust. You can add more default languages in lua/plugins.lua or add them on the fly by typing `:TSInstall <language name>`
Tinkering
---------
The configuration is quite small and straight-forward :
- init.lua contains all the configuration and key bindings, see more information [here]("https://github.com/nanotee/nvim-lua-guide")
- lua/plugins.lua contains the list of plugins, see more information [here]("https://github.com/faerryn/plogins.nvim")