blob: 87ff6688c33de9435a5d08315fd45f8662c9e401 (
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|


If you are looking for my old configs checkout the two snapshot branches
on this repo, there is one for CoC and one for Native LSP
## Install In One Command!
Make sure you have the newest version of Neovim
``` bash
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/installer/install.sh)
```
After installation run `nvim` and then `:PackerInstall`
## Get the latest version of Neovim
``` bash
cd ~
sudo rm -r neovim
git clone https://github.com/neovim/neovim
cd neovim
sudo make CMAKE_BUILD_TYPE=Release install
cd ~
sudo rm -r neovim
```
## VSCode support
After installing the [Neovim
extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
I recommend using this alongside the VSCode
[which-key](https://github.com/VSpaceCode/vscode-which-key) extension
You will also need `settings.json` and `keybindings.json` which can be
found in utils/vscode\_config
Point the nvim path to your `nvim` binary
Point your `init.vim` path to:
``` vim
$HOME/.config/nvim/vimscript/nv-vscode/init.vim
```
## Clipboard Support
- On Mac `pbcopy` should be built-in
- Ubuntu
```bash
sudo apt install xsel
```
- Arch
```bash
sudo pacman -S xsel
```
## LSP
To install a supported language server:
``` bash
:LspInstall <your_language_server>
```
The only Language servers supported this way currently are `Python`,
`Javascript` and `Lua` the rest you will need to globally install and
configure under `lua/lsp/<your_lang.lua>`
For a more in depth LSP support:
[link](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)
## Useful Programs
``` bash
ranger
ueberzug
fd
ripgrep
jq
fzf
lazygit
lazydocker
ncdu
pynvim
neovim-remote
```
## EFM server
In order for linters and formatters to work you will need to install
`efm-langserver`
```vim
:LspInstall efm
```
## Formatters and Linters
**Python**
``` bash
pip3 install --user flake8
pip3 install --user yapf
```
**Lua**
``` bash
luarocks install --server=https://luarocks.org/dev luaformatter
```
**Yaml, Json, Javascript, HTML, CSS**
``` bash
npm install -g prettier
```
**Markdown**
``` bash
pandoc
```
## Vim Gists
To use vim-gists you will need to configure the following:
``` bash
git config --global github.user <username>
```
## Snippets
If you are looking for snippets checkout this github topic: [Snippet
Topic](https://github.com/topics/vscode-snippets)
## De-bugging
To set up your particular debugger, look here:
[link](https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation)
## TODO
**HIGH PRIORITY**
Move user config into `config.lua` ts-comment string for react
From here I will update for bug fixes and implement low priority
features when I have time
**LOW PRIORITY**
- list all binaries needed for formatters and linters
- add badges to readme
- Implement what I can from this java config:
[link](https://github.com/mfussenegger/nvim-jdtls/wiki/Sample-Configurations)
- better ui for code actions - formatting
- setup junit tests for java
- look into emmet-ls
- toggle virtual text diagnostics
- configure neogit
- configure kshenoy/vim-signature
- vim ult test
- what is `fzy`
- https://github.com/pwntester/octo.nvim
- configure surround
- maybe incorporate ultisnips
**PLUGIN BUGS**
- html snippets are broken with vsnip
|