Default Plugins

This page lists the default plugins installed Lunavim including descriptions, important commands and default keybindings. This page only lists minimal information for each plugin. Go to the project page for each plugin to read the full documentation.

Plugin management

packer.nvimopen in new window: Plugin/package management for Neovim.

:PackerInstallInstalls packages that have a lvim.plugins entry in ~/.config/lvim/config.lua
:PackerInstallInstalls packages that have a lvim.plugins entry in ~/.config/lvim/config.lua
:PackerStatusLists the installed plugins
:PackerUpdateFetches and installs updates to packages
:PackerCleanRemoves any disabled or no longer managed plugins
:PackerCompileCompile lazy-loader code and save to path
:PackerSyncPerforms :PackerUpdate and :PackerCompile

Language Server Protocol

nvim.lspconfigopen in new window: A collection of common configurations for Neovim's built-in language server client.

Automatically launch and initialize language servers

:LspInfoLanguage server diagnostics

nvim-lspinstallopen in new window: Companion plugin for nvim-lspconfig to install language servers

Use tab completion with LspInstall to check for available language servers

:LspInstall <language>Installs a language server for the given language

nlsp.settings.nvimopen in new window: A plugin to configure Neovim LSP using json files like coc-settings.json.

:NlspConfig <NAME_OF_LANGUAGE_SERVER>Creates a configuration file for your language server

See Language Server Configuration

Language parser

nvim-treesitteropen in new window: Easy way to use the tree-sitter interface in Neovim to parse languages

Provides basic syntax features like syntax highlighting and code folding. Allows other plugins to use the parsed syntax tree for other purposes, e.g. nvim-autopairs, nvim-comment, etc

:TSInstall <language_to_install>Tab to show available languages
:TSInstallInfoCheck installation status

Consult the nvim.treesitter documentation to see which languages are supportedopen in new window


nvim-commentopen in new window: Toggle comments in Neovim

gccComment line
gc{motion}comment/uncomment selection defined by a motion
gcipcomment/uncomment a paragraph
gc4wcomment/uncomment current line
gc4jcomment/uncomment 4 lines below the current line

File explorer

nvim-tree.luaopen in new window A File Explorer For Neovim Written In Lua

<leader> eOpens explorer, <spacebar> is the default leader key in LunarVim
g?Toggle help and key bindings.

Project management

project.nvimopen in new window All in one project management.

Finds the root of your project and changes the LunarVim working directory to the project root depending on the language, may use .git, Cargo.toml, etc

Fuzzy file finder

telescope.nvimopen in new window: Extendable fuzzy finder over lists, built on the latest features from neovim core

<leader> fOpens file search
<spacebar> fIf using LunarVim defaults


nvim-cmpopen in new window: A completion engine plugin for neovim written in Lua.


LuaSnipopen in new window: Provides a snippet engine for neovim written in Lua.

View example configurations hereopen in new window View the documentation with :help luasnip

friendly-snippetsopen in new window: A collection of snippets for different programming languages.

LuaSnip uses friendly-snippets as it's snippet library.

Auto-Pair closing brackets

nvim-autopairs: Provides automatic closing of brackets.


gitsigns.nvimopen in new window: Provides visual indicators for which lines have changed since the last commit

Adds commands for staging git hunks.

<Leader>gjGo to next Hunk
<Leader>gkGo to previous Hunk
<Leader>glShow git blame
<Leader>gpPreview hunk
<Leader>grReset hunk
<Leader>gRReset buffer
<Leader>gsStage hunk
<Leader>guUnstage hunk


which-keyopen in new window: Displays popup with possible key bindings.

Triggered by default with Spacebar. The speed whichkey opens is defined by timeoutlen. LunarVim defines a short timeoutlen of 100ms. Some plugins might require a longer timeoutlen to work properly. The following command redefines the timeoutlen to half a second.

vim.opt.timeoutlen = 500


nvim-web-devicons: Provides icons for use with some plugins

Status and Bufferline

barbar.nvimopen in new window: barbar.nvim is a tabline plugin with re-orderable, auto-sizing, clickable tabs.

<S-l>Go to next buffer
<S-h>Go to previous buffer

lualineopen in new window: A blazing fast and easy to configure neovim statusline written in pure lua.

Go here for more information on configuration


toggleterm.nvimopen in new window: A neovim plugin to persist and toggle multiple terminals during an editing session

<C-t>Toggle terminal

Toggleterm can be used to launch command line programs. By default gg launches LazyGit assuming it is installed on your system. Other terminal executables can be added with:

    -- Add executables to config.lua
    -- { exec, keymap, name}
     lvim.builtin.terminal.execs = {{}} to overwrite
     lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"}


dashboard-nvimopen in new window: Provides a start screen with useful options.


nvim-dapopen in new window: nvim-dap is a Debug Adapter Protocol client implementation for Neovim

For more information type the following commands

:help dap.txt
:help dap-adapter
:help dap-configuration

or go to the Debug-Adapter installation wikiopen in new window

DAPInstallopen in new window Provides a way to manage installation, configuration, and setup of debuggers.

:DIInstall <debugger>Checks dependencies and installs <debugger>
:DIUnistall <debugger>Uninstalls <debugger>
:DIListLists installed debuggers