Nvim Mach 2
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
- People asked about vimwiki I kinda hate it but maybe I'll add it
- float term lazy git
- spectre, or async task/run
- setup custom paths
- install script envsubst is your friend
- add better whitespace plugin and a toggle, video about clean code maybe
- snippets (coc snippets)
- git messenger
- neovide
- setup global coc extensions to auto install
VSCode integration
We will be integrating with VSCode using this