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 ` 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")