LunarVim/README.md

178 lines
3.2 KiB
Markdown
Raw Normal View History

2021-03-22 04:33:08 +01:00
![NVCode Logo](./utils/media/nvcode_logo.png)
2021-03-15 02:51:54 +01:00
2021-03-22 04:37:02 +01:00
![NVCode Demo](./utils/media/demo.png)
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
2021-03-22 19:03:54 +01:00
- On Mac `pbcopy` should be built-in
2021-03-20 09:20:23 +01:00
- 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
## efm server is slow on close
Install the latest with:
2021-03-20 22:22:44 +01:00
``` bash
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
- learn nvim-dap in depth
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-22 19:03:54 +01:00
- neovim light-bulb config
2021-03-22 04:14:19 +01:00
- better vscode support
2021-03-22 03:40:26 +01:00
**LOW PRIORITY**
2021-03-22 19:03:54 +01:00
- look into auto-install lsp
2021-03-20 09:20:23 +01:00
- json config file (luajson)
- better install script, support both nvim and nvcode paths
2021-03-22 19:03:54 +01:00
- get logo
- look into emmet-ls
2021-03-22 01:59:02 +01:00
- toggle virtual text diagnostics
- configure neogit
- list all binaries needed for functionality
- html snippets in react (maybe)
2021-03-22 03:40:26 +01:00
- configure kshenoy/vim-signature
2021-03-22 04:14:19 +01:00
- vim ult test
2021-03-22 06:46:06 +01:00
- what is `fzy`
2021-03-22 08:01:12 +01:00
- https://github.com/pwntester/octo.nvim
2021-03-22 20:15:12 +01:00
- configure surround
2021-03-22 01:59:02 +01:00
**PLUGIN BUGS**
2021-03-22 04:33:08 +01:00
- finding files from dashboard sometimes number not set
2021-03-22 01:59:02 +01:00
- spell not activated in readme Markdown
2021-03-22 19:03:54 +01:00
- better auto-import
- can't find global binary for markdown-lint
2021-03-22 01:59:02 +01:00
- keep and eye on indent guides plugin for thin lines