2021-03-15 02:51:54 +01:00
|
|
|
# NVCode
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
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
|
2021-03-15 02:51:54 +01:00
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
## Get the latest version of Neovim
|
2021-03-15 03:25:28 +01:00
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-15 03:25:28 +01:00
|
|
|
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
|
|
|
|
```
|
|
|
|
|
2021-03-15 17:58:57 +01:00
|
|
|
## VSCode support
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
After installing the [Neovim
|
|
|
|
extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
|
2021-03-19 04:47:03 +01:00
|
|
|
|
|
|
|
I recommend using this alongside the VSCode which-key extension
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
Along with some of my config files you can find in utils/vscode\_config
|
2021-03-15 17:58:57 +01:00
|
|
|
|
|
|
|
Point the nvim path to your `nvim` binary
|
|
|
|
|
2021-03-19 04:47:03 +01:00
|
|
|
Point your `init.lua` path to:
|
2021-03-15 17:58:57 +01:00
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` vim
|
2021-03-19 04:47:03 +01:00
|
|
|
$HOME/.config/nvim/lua/nv-vscode/init.lua
|
2021-03-15 17:58:57 +01:00
|
|
|
```
|
|
|
|
|
2021-03-20 09:20:23 +01:00
|
|
|
## Clipboard Support
|
|
|
|
|
|
|
|
- On Mac `pbcopy` should be builtin
|
|
|
|
|
|
|
|
- Ubuntu
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
```bash
|
2021-03-20 09:20:23 +01:00
|
|
|
sudo apt install xsel
|
2021-03-20 22:22:44 +01:00
|
|
|
```
|
2021-03-20 09:20:23 +01:00
|
|
|
|
|
|
|
- Arch
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
```bash
|
2021-03-20 09:20:23 +01:00
|
|
|
sudo pacman -S xsel
|
2021-03-20 22:22:44 +01:00
|
|
|
```
|
2021-03-20 09:20:23 +01:00
|
|
|
|
|
|
|
## LSP
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
Some example language servers, if you just install them they will work
|
|
|
|
with this config
|
2021-03-20 09:20:23 +01:00
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-20 09:20:23 +01:00
|
|
|
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
|
2021-03-20 22:22:44 +01:00
|
|
|
npm install markdownlint --save-dev
|
2021-03-20 09:20:23 +01:00
|
|
|
```
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
For a more in depth LSP support:
|
|
|
|
[link](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)
|
2021-03-20 09:20:23 +01:00
|
|
|
|
2021-03-18 01:32:52 +01:00
|
|
|
## efm server is slow on close
|
|
|
|
|
|
|
|
Install the latest with:
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-18 01:32:52 +01:00
|
|
|
go get github.com/mattn/efm-langserver@HEAD
|
|
|
|
```
|
|
|
|
|
2021-03-19 04:47:03 +01:00
|
|
|
## Useful Programs
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-19 04:47:03 +01:00
|
|
|
ranger
|
|
|
|
ueberzug
|
|
|
|
fd
|
|
|
|
ripgrep
|
|
|
|
jq
|
|
|
|
fzf
|
|
|
|
lazygit
|
|
|
|
lazydocker
|
|
|
|
ncdu
|
2021-03-20 09:20:23 +01:00
|
|
|
pynvim
|
|
|
|
neovim-remote
|
2021-03-19 04:47:03 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
**Python**
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-19 04:47:03 +01:00
|
|
|
pyright
|
|
|
|
flake8
|
|
|
|
yapf
|
|
|
|
```
|
|
|
|
|
|
|
|
**Lua**
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-19 04:47:03 +01:00
|
|
|
ninja
|
|
|
|
lua-format
|
|
|
|
sumneko-lua
|
|
|
|
```
|
|
|
|
|
2021-03-20 09:20:23 +01:00
|
|
|
**Yaml, Json, Javascript, HTML, CSS**
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-20 09:20:23 +01:00
|
|
|
prettier
|
|
|
|
```
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
**Markdown**
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
pandoc
|
|
|
|
```
|
|
|
|
|
2021-03-19 04:47:03 +01:00
|
|
|
## Vim Gists
|
|
|
|
|
|
|
|
To use vim-gists you will need to configure the following:
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
``` bash
|
2021-03-19 04:47:03 +01:00
|
|
|
git config --global github.user <username>
|
|
|
|
```
|
|
|
|
|
2021-03-20 03:35:58 +01:00
|
|
|
## Snippets
|
|
|
|
|
2021-03-20 22:22:44 +01:00
|
|
|
If you are looking for snippets checkout this github topic: [Snippet
|
|
|
|
Topic](https://github.com/topics/vscode-snippets)
|
2021-03-20 03:35:58 +01:00
|
|
|
|
2021-03-15 02:51:54 +01:00
|
|
|
## TODO
|
2021-03-15 16:54:53 +01:00
|
|
|
|
|
|
|
**HIGH PRIORITY**
|
2021-03-20 22:22:44 +01:00
|
|
|
|
2021-03-18 01:32:52 +01:00
|
|
|
- learn nvim-dap in depth
|
2021-03-19 04:47:03 +01:00
|
|
|
- add utf8 line col and spaces (maybe blame)
|
2021-03-18 20:00:14 +01:00
|
|
|
- potentially switch to dashboard
|
2021-03-20 03:35:58 +01:00
|
|
|
- vim ult test
|
2021-03-20 09:20:23 +01:00
|
|
|
- learn what opt is
|
2021-03-19 08:17:05 +01:00
|
|
|
|
|
|
|
**LOW PRIORITY**
|
2021-03-20 22:22:44 +01:00
|
|
|
|
|
|
|
- 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
|
2021-03-16 03:28:45 +01:00
|
|
|
- neovim lightbulb config
|
2021-03-15 18:03:12 +01:00
|
|
|
- better autoimport
|
2021-03-20 22:22:44 +01:00
|
|
|
- can' find global bianry for markdownlint
|
|
|
|
- spell not activated in readme Markdown
|
2021-03-20 09:20:23 +01:00
|
|
|
- list all binaries needed for functionality
|
2021-03-18 05:30:14 +01:00
|
|
|
- keep and eye on indent guides plugin for thin lines
|
2021-03-15 08:48:39 +01:00
|
|
|
- look into autoinstall lsp
|
2021-03-20 09:20:23 +01:00
|
|
|
- update Vista symbols
|
2021-03-15 15:41:54 +01:00
|
|
|
- get logo
|
2021-03-15 15:55:21 +01:00
|
|
|
- configure neogit
|
2021-03-17 03:06:38 +01:00
|
|
|
- toggle virtual text diagnostics
|
2021-03-20 22:22:44 +01:00
|
|
|
- move language servers not installed with npm to neovim local share
|
|
|
|
location
|
2021-03-20 09:20:23 +01:00
|
|
|
- json config file (luajson)
|
|
|
|
- better install script, support both nvim and nvcode paths
|