blob: 92e4718f4c6be3ae8acd58849bc28a3f442ccbe8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# 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 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
- echodoc and buitin support with CoC
- snippets (coc snippets)
- git messenger
- float term
- neovide
- setup global coc extensions to auto install
## VSCode integration
We will be integrating with VSCode using [this](https://github.com/asvetliakov/vscode-neovim)
|