51 lines
2.1 KiB
Markdown
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")
|
|
|