🌙 LunarVim is an IDE layer for Neovim. Completely free and community driven.
Find a file
2021-07-12 05:59:21 +00:00
.github Minimize the pull request template (#876) 2021-07-11 09:35:08 -04:00
colors galaxyline will follow theme colors, still need themes that support these hl groups tho 2021-07-04 15:01:09 -04:00
ftdetect start formatting rules 2021-07-04 22:14:01 -03:00
ftplugin Now, cssls and autocomplete now works with css scss sass files (#846) 2021-07-12 00:56:39 -04:00
lua remove tilde from EndOfBuffer in transparent mode (#885) 2021-07-12 00:31:27 -04:00
utils Update lv-config.example.lua 2021-07-12 05:59:21 +00:00
.gitignore lua/lv-user-config has been renamed to lua/lv-user (#830) 2021-07-10 03:35:47 -04:00
CONTRIBUTING.md Add CONTRIBUTING.md (#819) 2021-07-09 14:23:36 -04:00
init.lua remove this autocommands 2021-07-11 23:58:32 -04:00
LICENSE update license 2021-03-15 10:47:00 -04:00
README.md Update README.md 2021-07-12 05:57:38 +00:00

LunarVim Demo

Install In One Command!

Make sure you have the newest version of Neovim (0.5).

bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/lunarvim/master/utils/installer/install.sh)

If you help to develop Lunarvim, you can install a specific branch branch directly

LVBRANCH=rolling bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/lunarvim/rolling/utils/installer/install.sh)

Installing LSP for your language

Just enter :LspInstall followed by <TAB> to see your options

NOTE I recommend installing lua for autocomplete in lv-config.lua

Configuration file

To activate other plugins and language features use the lv-config.lua file provided in the nvim folder (~/.config/nvim/lv-config.lua)

Example:

-- O is the global options object

-- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT
-- general
O.completion.autocomplete = true
O.default_options.relativenumber = true
O.colorscheme = 'spacegray'
O.default_options.timeoutlen = 100
O.leader_key = ' '

-- After changing plugin config it is recommended to run :PackerCompile
O.plugin.dashboard.active = true
O.plugin.floatterm.active = true
O.plugin.zen.active = true
O.plugin.telescope_project.active = true

-- if you don't want all the parsers change this to a table of the ones you want
O.treesitter.ensure_installed = "all"
O.treesitter.ignore_install = {"haskell"}
O.treesitter.highlight.enabled = true

-- lua
O.lang.lua.autoformat = false
O.lang.lua.formatter = 'lua-format'

-- javascript
O.lang.tsserver.formatter = 'prettier'
O.lang.tsserver.linter = nil
O.lang.tsserver.autoformat = true

-- python
O.lang.python.isort = true
O.lang.python.diagnostics.virtual_text = true
O.lang.python.analysis.use_library_code_types = true
-- to change default formatter from yapf to black
-- O.lang.python.formatter.exe = "black"
-- O.lang.python.formatter.args = {"-"}

-- go
-- to change default formatter from gofmt to goimport
-- O.lang.formatter.go.exe = "goimport"

-- Additional Plugins
-- O.user_plugins = {
--     {"folke/tokyonight.nvim"}, {
--         "ray-x/lsp_signature.nvim",
--         config = function() require"lsp_signature".on_attach() end,
--         event = "InsertEnter"
--     } 
-- }

-- Autocommands (https://neovim.io/doc/user/autocmd.html)
-- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}

-- Additional Leader bindings for WhichKey
-- O.user_which_key = {
--   A = {
--     name = "+Custom Leader Keys",
--     a = { "<cmd>echo 'first custom command'<cr>", "Description for a" },
--     b = { "<cmd>echo 'second custom command'<cr>", "Description for b" },
--   },
-- }

Updating LunarVim

In order to update you should be aware of three things Plugins, LunarVim and Neovim

To update plugins:

:PackerUpdate

To update LunarVim:

cd ~/.config/nvim && git pull

To update Neovim use your package manager

Resources

Testimonials

"I have the processing power of a potato with 4 gb of ram and LunarVim runs perfectly."

  • @juanCortelezzi, LunarVim user.

"My minimal config with a good amount less code than LunarVim loads 40ms slower. Time to switch."

  • @mvllow, Potential LunarVim user.

Lua