_..._
.' (_`. _ __ ___
: . : | | _ _ _ __ __ _ _ _\ \ / (_)_ __ ___
:) () : | | | | | | '_ \ / _` | '__\ \ / /| | '_ ` _ \
`. . .' | |__| |_| | | | | (_| | | \ V / | | | | | | |
`-...-' |_____\__,_|_| |_|\__,_|_| \_/ |_|_| |_| |_|
-
This project aims to help one transition away from VSCode, and into a superior text editing experience. (Just making this clear)
-
This is also a community project, if you would like to see support for a feature or language consider making a PR.
-
This project will do it's best to include core features you would expect from a modern IDE, while making it easy to add or remove what the user wants.
Make sure you have the newest version of Neovim
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/lunarvim/master/utils/installer/install.sh)
After installation run nvim
and then :PackerInstall
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
or if you are on Arch you can get it from the AUR
yay -S neovim-nightly-git
-
On Mac
pbcopy
should be built-in -
Ubuntu
sudo apt install xsel
-
Arch
sudo pacman -S xsel
-
WSL2
Make sure ~/bin is in your path in this case.
curl -sLo/tmp/win32yank.zip https://github.com/equalsraf/win32yank/releases/download/v0.0.4/win32yank-x64.zip unzip -p /tmp/win32yank.zip win32yank.exe > /tmp/win32yank.exe chmod +x /tmp/win32yank.exe mv /tmp/win32yank.exe ~/bin
To install a supported language server:
:LspInstall <your_language_server>
Most common languages should be supported out of the box, if yours is not I would welcome a PR
For a more in depth LSP support: link
LunarVim depends on the following:
ranger
ueberzug
ripgrep
pynvim
neovim-remote
In order for linters and formatters to work you will need to install
efm-langserver
:LspInstall efm
Python
pip3 install --user flake8
pip3 install --user yapf
Lua
luarocks install --server=https://luarocks.org/dev luaformatter
Yaml, Json, Javascript, HTML, CSS
npm install -g prettier
Markdown
pandoc
To set up your particular debugger, look here: link
I recommend you support Free/Libre versions if you plan to use VSCode:
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/lv-vscode/init.vim
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
- different key to advance through snippets
LOW PRIORITY
- vim vsnips dir should be co-located with config
- list all binaries needed for formatters and linters (one day add in wiki)
- Implement what I can from this java config:
link
- better ui for code actions - formatting
- setup junit tests for java
- look into emmet-ls
- vim ult test
- which-key all in lua
- what is
fzy
- https://github.com/pwntester/octo.nvim
- configure surround
- Implement this for typescript https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils
- look into tabnine
PLUGIN BUGS
REACT COMMENTING IS A NIGHTMARE (the filetype is just not recognized idk why)