mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-20 18:45:08 +02:00
153 lines
2.7 KiB
Markdown
153 lines
2.7 KiB
Markdown
# Nvim Mach 2
|
|
|
|
![Nvim Mach 2 pic](./utils/images/nvim.png)
|
|
|
|
## Install in one command
|
|
|
|
The following will install this config if you have an existing config it will move it to `~/.config/nvim.old`
|
|
|
|
This script only supports Mac, Ubuntu and Arch
|
|
|
|
```
|
|
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/install.sh)
|
|
```
|
|
|
|
## Install Neovim
|
|
|
|
- On Mac
|
|
|
|
```
|
|
brew install neovim
|
|
```
|
|
|
|
- Ubuntu
|
|
|
|
```
|
|
sudo apt install neovim
|
|
```
|
|
|
|
- Arch
|
|
|
|
```
|
|
sudo pacman -S neovim
|
|
```
|
|
|
|
## Clone this repo into your config
|
|
|
|
```
|
|
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
|
|
```
|
|
|
|
## Install python & node support
|
|
|
|
```
|
|
pip install pynvim
|
|
```
|
|
|
|
```
|
|
npm i -g neovim
|
|
```
|
|
|
|
## Install Neovim remote
|
|
|
|
```
|
|
pip install neovim-remote
|
|
```
|
|
|
|
This will install `nvr` to `~/.local/bin` so you will need to add the following to your `bashrc` or `zshrc`
|
|
|
|
```
|
|
export PATH=$HOME/.local/bin:$PATH
|
|
```
|
|
|
|
## Install clipboard support
|
|
|
|
- On mac pbcopy should be builtin
|
|
|
|
- On Ubuntu
|
|
|
|
```
|
|
sudo apt install xsel
|
|
```
|
|
|
|
- On Arch Linux
|
|
|
|
```
|
|
sudo pacman -S xsel
|
|
```
|
|
|
|
## (Optional) Install python & node support using virtual environments
|
|
|
|
Make sure to add these paths somewhere in your config
|
|
|
|
```
|
|
let g:python3_host_prog = expand("<path to python with pynvim installed>")
|
|
let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8") " <- example
|
|
|
|
let g:node_host_prog = expand("<path to node with neovim installed>")
|
|
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example
|
|
```
|
|
|
|
## List of programs you should install
|
|
|
|
- ranger
|
|
- ueberzug
|
|
- ripgrep
|
|
- silver_searcher
|
|
- fd
|
|
- universal-ctags
|
|
- lazy git
|
|
- lazy docker
|
|
|
|
Explanations and installation instruction can be found on my blog
|
|
|
|
## Language Servers
|
|
|
|
Since CoC doesn't support all languages in there extensions
|
|
I recommend installing some language servers from scratch
|
|
and adding them to your `coc-settings.json` file
|
|
|
|
Example:
|
|
|
|
- bash
|
|
|
|
`npm i -g bash-language-server`
|
|
|
|
```
|
|
"languageserver": {
|
|
"bash": {
|
|
"command": "bash-language-server",
|
|
"args": ["start"],
|
|
"filetypes": ["sh"],
|
|
"ignoredRootPaths": ["~"]
|
|
}
|
|
}
|
|
```
|
|
|
|
## TODO
|
|
|
|
- async task/run
|
|
- vimspector
|
|
- git messenger
|
|
- live server (bracey)
|
|
- markdown preview
|
|
- neomake
|
|
- markdown table
|
|
- add better whitespace plugin and a toggle
|
|
- People asked about vimwiki I kinda hate it but maybe I'll add it
|
|
- tagalong
|
|
- ctrlspace
|
|
- coc-fzf
|
|
- coc-async-tasks
|
|
- coc-stylelintplus
|
|
- coc-highlight (just for pick color, highlight is too slow)
|
|
- coc-floaterm
|
|
- coc-actions
|
|
- coc-bookmark
|
|
- maybe better jsx highlighting
|
|
- neovide
|
|
- move coc to coc.old in install script
|
|
|
|
## VSCode integration
|
|
|
|
We will be integrating with VSCode using [this](https://github.com/asvetliakov/vscode-neovim)
|