LunarVim/README.md

143 lines
2.6 KiB
Markdown
Raw Normal View History

2020-04-26 07:39:35 +02:00
# Nvim Mach 2
2020-04-25 00:50:40 +02:00
2020-05-12 06:13:50 +02:00
![Nvim Mach 2 pic](./utils/images/nvim.png)
2020-05-12 06:12:50 +02:00
2020-05-12 05:52:49 +02:00
## Install in one command
2020-04-28 05:59:39 +02:00
2020-05-12 05:52:49 +02:00
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)
```
2020-04-28 05:59:39 +02:00
2020-04-25 00:50:40 +02:00
## Install Neovim
- On Mac
2020-05-10 19:52:08 +02:00
```
brew install neovim
```
2020-04-25 00:50:40 +02:00
- Ubuntu
2020-05-10 19:52:08 +02:00
```
sudo apt install neovim
```
2020-04-25 00:50:40 +02:00
- Arch
2020-05-10 19:52:08 +02:00
```
sudo pacman -S neovim
```
2020-04-25 00:50:40 +02:00
2020-04-25 00:55:06 +02:00
## Clone this repo into your config
2020-04-25 00:50:40 +02:00
```
2020-04-29 16:20:41 +02:00
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
2020-04-25 00:50:40 +02:00
```
## Install python & node support
```
pip install pynvim
```
```
npm i -g neovim
```
2020-05-12 23:12:38 +02:00
## 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
```
2020-04-25 00:50:40 +02:00
## Install clipboard support
- On mac pbcopy should be builtin
- On Ubuntu
2020-05-10 19:52:08 +02:00
```
sudo apt install xsel
```
2020-04-25 00:50:40 +02:00
- On Arch Linux
2020-05-10 19:52:08 +02:00
```
sudo pacman -S xsel
```
2020-04-25 00:50:40 +02:00
## (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>")
2020-05-10 19:52:08 +02:00
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example
2020-04-25 00:50:40 +02:00
```
2020-04-26 20:17:15 +02:00
## List of programs you should install
- ranger
- ueberzug
2020-04-27 07:44:22 +02:00
- ripgrep
- silver_searcher
- fd
- universal-ctags
2020-04-28 05:55:12 +02:00
- lazy git
- lazy docker
2020-04-27 23:50:23 +02:00
2020-05-07 23:07:15 +02:00
Explanations and installation instruction can be found on my blog
2020-04-28 05:55:12 +02:00
2020-05-12 00:48:29 +02:00
## 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": ["~"]
}
}
```
2020-05-12 05:52:49 +02:00
## TODO
2020-05-10 19:52:08 +02:00
2020-04-28 05:55:12 +02:00
- 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
2020-05-12 00:48:29 +02:00
- add better whitespace plugin and a toggle, video about clean code maybe
2020-05-10 19:52:08 +02:00
- snippets (coc snippets)
- git messenger
- neovide
- setup global coc extensions to auto install
2020-05-12 05:52:49 +02:00
## VSCode integration
We will be integrating with VSCode using [this](https://github.com/asvetliakov/vscode-neovim)