summaryrefslogtreecommitdiff
path: root/README.md
blob: c8dbd146d907e744eaaf2f5d12d7ddf58672a1c1 (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
# NVCode

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

## 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 extension

Along with some of my config files you can find in utils/vscode_config

Point the nvim path to your `nvim` binary

Point your `init.lua` path to:

```vim
$HOME/.config/nvim/lua/nv-vscode/init.lua
```

## Clipboard Support

- On Mac `pbcopy` should be builtin

- Ubuntu

	```bash
    sudo apt install xsel
	```

- Arch

	```bash
    sudo pacman -S xsel
	```

## LSP

Some example language servers, if you just install them they will work with this config

```bash
npm i -g pyright
npm i -g bash-language-server
npm install -g vscode-css-languageserver-bin
npm install -g dockerfile-language-server-nodejs
npm install -g graphql-language-service-cli
npm install -g vscode-html-languageserver-bin
npm install -g typescript typescript-language-server
npm install -g vscode-json-languageserver
npm install -g vim-language-server
npm install -g yaml-language-server
```

For a more in depth LSP support: [link](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)



## efm server is slow on close

Install the latest with:

```bash
go get github.com/mattn/efm-langserver@HEAD
```

## Useful Programs

```bash
ranger
ueberzug
fd
ripgrep
jq
fzf
lazygit
lazydocker
ncdu
pynvim
neovim-remote
```

**Python**

```bash
pyright
flake8
yapf
```

**Lua**

```bash
ninja
lua-format
sumneko-lua
```

**Yaml, Json, Javascript, HTML, CSS**

```bash
prettier
```

## 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)

## TODO


**HIGH PRIORITY**
- learn nvim-dap in depth
- add utf8 line col and spaces (maybe blame)
- potentially switch to dashboard
- vim ult test
- learn what opt is

**LOW PRIORITY**
- 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
- neovim lightbulb config
- better autoimport
- list all binaries needed for functionality
- keep and eye on indent guides plugin for thin lines
- look into autoinstall lsp
- update Vista symbols
- get logo
- configure neogit
- toggle virtual text diagnostics
- move language servers not installed with npm to neovim local share location
- json config file (luajson)
- better install script, support both nvim and nvcode paths