Installation
Prerequisites
- Make sure you have installed the latest version of
Neovim v0.7.2+
. - Have
git
,make
,pip
,npm
,node
andcargo
installed on your system. - Resolve
EACCES
permissions when installing packages globally to avoid error when installing packages with npm.
Install
There are a few ways to install LunarVim.
Stable
No alarm or surprise:
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
Rolling
All the new features with all the new bugs:
LV_BRANCH=rolling bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/rolling/utils/installer/install.sh)
You can use this helper script to get the latest neovim binary as well:
bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/rolling/utils/installer/install-neovim-from-release)
Make sure to check the troubleshooting section if you encounter any problem.
Tips for WSL 2 users
While using LunarVim within WSL2, there are a few things one should be aware of:
- Avoid using LunarVim within the Windows directory, e.g.
/mnt/c
, due to filesystem performance issues, see WSL#4197. - Some WSL2 users have experienced that sourcing the clipboard may be slow. A workaround for that is calling a clipboard manager from the Windows side. Neovim tries using win32yank.exe if it's available. so install it and set the value of
clipboard
explicitly:
if vim.fn.has "wsl" == 1 then
vim.g.clipboard = {
copy = {
["+"] = "win32yank.exe -i --crlf",
["*"] = "win32yank.exe -i --crlf",
},
paste = {
["+"] = "win32yank.exe -o --lf",
["*"] = "win32yank.exe -o --lf",
},
}
end
- Some WSL2 users have experienced that opening buffers at startup takes a lot of time. A possible solution is to add the following to your
/etc/wsl.conf
file:
[automount]
# Set to true will automount fixed drives (C:/ or D:/) with DrvFs under the root directory set above. Set to false means drives won't be mounted automatically, but need to be mounted manually or with fstab.
enabled = false
# Sets the `/etc/fstab` file to be processed when a WSL distribution is launched.
mountFsTab = false
# Set whether WSL supports interop process like launching Windows apps and adding path variables. Setting these to false will block the launch of Windows processes and block adding $PATH environment variables.
[interop]
enabled = false
appendWindowsPath = false
Reference: WSL automount settings
Tips for Neovide users
In order to use lunarvim with Neovide you need to add the following line to your config.lua
vim.o.guifont = "Your font name"
Where Your Font Name
is the literal name of the font you want to use. For example "Inconsolata Nerd Font"
. You will also need to export the right environment variables and call neovide with the apropriate parameters. An easy way to achieve this is to create a little executable script like, for example ~/.local/bin/lvim-gui
#!/bin/sh
# ~/.local/bin/lvim-gui
export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$HOME/.local/share/lunarvim"}"
export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$HOME/.config/lvim"}"
export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"$HOME/.cache/lvim"}"
exec neovide -- -u "$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "$@"
Then give it the proper execution permissions
chmod +x ~/.local/bin/lvim-gui
And you can launch from now on like this:
lvim-gui
# or with params
lvim-gui some-file
Uninstall
You can remove LunarVim (including the configuration files) using the bundled uninstall
script
bash ~/.local/share/lunarvim/lvim/utils/installer/uninstall.sh
# or
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/uninstall.sh)