🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
Find a file
2021-03-23 18:55:12 -04:00
.github Create FUNDING.yml 2020-08-29 21:56:39 -04:00
ftplugin updates 2021-03-23 02:35:03 -04:00
lua easy install LSP 2021-03-23 18:55:12 -04:00
utils better vscode support 2021-03-22 22:09:11 -04:00
vimscript nvim dap 2021-03-22 22:10:39 -04:00
.gitignore ignore spell 2021-03-22 21:48:49 -04:00
init.lua easy install LSP 2021-03-23 18:55:12 -04:00
LICENSE update license 2021-03-15 10:47:00 -04:00
README.md updates 2021-03-23 02:35:03 -04:00

NVCode Logo

NVCode Demo

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

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 in VSCode

I recommend using this alongside the 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:

$HOME/.config/nvim/vimscript/nv-vscode/init.vim

Clipboard Support

  • On Mac pbcopy should be built-in

  • Ubuntu

    sudo apt install xsel
    
  • Arch

    sudo pacman -S xsel
    

LSP

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

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
npm install markdownlint --save-dev

For a more in depth LSP support: link

efm server is slow on close

Install the latest with:

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

Useful Programs

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

Python

pyright
flake8
yapf

Lua

ninja
lua-format
sumneko-lua

Yaml, Json, Javascript, HTML, CSS

prettier

Markdown

pandoc

Vim Gists

To use vim-gists you will need to configure the following:

git config --global github.user <username>

Snippets

If you are looking for snippets checkout this github topic: Snippet Topic

De-bugging

To set up your particular debugger, look here: link

TODO

HIGH PRIORITY

  • better install script, simple install just support ~/.config/nvim path
  • add badges to readme

LOW PRIORITY

  • move to ultisnips
  • Implement what I can from this java config: link
    • better ui for code actions - formatting
    • setup junit tests for java
  • look into auto-install lsp
  • json config file (luajson)
  • get logo
  • look into emmet-ls
  • toggle virtual text diagnostics
  • configure neogit
  • list all binaries needed for functionality
  • html snippets in react (maybe)
  • configure kshenoy/vim-signature
  • vim ult test
  • what is fzy
  • https://github.com/pwntester/octo.nvim
  • configure surround

PLUGIN BUGS

  • finding files from dashboard sometimes number not set
  • better auto-import (jsx)
  • keep and eye on indent guides plugin for thin lines