Github GitHub - ChristianChiarulli/LunarVim: A Neovim config made with sane defa...
source link: https://github.com/ChristianChiarulli/LunarVim
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
_..._
.' (_`. _ __ ___
: . : | | _ _ _ __ __ _ _ _\ \ / (_)_ __ ___
:) () : | | | | | | '_ \ / _` | '__\ \ / /| | '_ ` _ \
`. . .' | |__| |_| | | | | (_| | | \ 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.
Install In One Command!
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
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
or if you are on Arch you can get it from the AUR
yay -S neovim-nightly-git
Clipboard Support
-
On Mac
pbcopy
should be built-in -
Ubuntu
sudo apt install xsel
-
sudo pacman -S xsel
-
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
Useful Programs
LunarVim depends on the following:
ranger ueberzug ripgrep pynvim neovim-remote
EFM server
In order for linters and formatters to work you will need to install
efm-langserver
:LspInstall efm
Formatters and Linters
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
De-bugging
To set up your particular debugger, look here: link
VSCodium
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)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK