LazyVim Extras
Extras are opt-in features that extend LazyVim with language support, editor enhancements, AI tools, and more. Enable them via :LazyExtras or by adding an import to a plugin spec.
How to Enable Extras
Method 1: :LazyExtras Command
:LazyExtras
Browse available extras with the picker and press <CR> to enable/disable.
Method 2: Plugin Spec Import
lua/plugins/extras.lua
return {
-- Language extras
{ import = "lazyvim.plugins.extras.lang.python" },
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.rust" },
-- Editor extras
{ import = "lazyvim.plugins.extras.editor.harpoon2" },
{ import = "lazyvim.plugins.extras.editor.leap" },
-- UI extras
{ import = "lazyvim.plugins.extras.ui.alpha" },
}
AI Extras
| Extra | Description | Keymaps |
|---|---|---|
| ai.avante | AI assistant (avante.nvim) | <leader>aa (ask), <leader>ac (chat), <leader>ae (edit) |
| ai.claudecode | Claude Code integration | <leader>ac (toggle), <leader>aa (accept diff) |
| ai.copilot-chat | GitHub Copilot Chat | <leader>aa (toggle), <leader>ap (prompt actions) |
| ai.sidekick | Sidekick AI CLI | <leader>aa (toggle), <leader>at (send this) |
Coding Extras
| Extra | Description |
|---|---|
| coding.blink | blink.cmp completion engine (alternative to nvim-cmp) |
| coding.codeium | Codeium AI autocompletion |
| coding.copilot | GitHub Copilot inline suggestions |
| coding.copilot-cmp | Copilot + nvim-cmp integration |
| coding.mini-comment | Alternative commenting (mini.comment) |
| coding.mini-surround | Surround operations (gsa add, gsd delete, gsr replace) |
| coding.neogen | Annotation generator (<leader>cn) |
| coding.supertab | Use Tab for completion & snippets |
| coding.yanky | Enhanced yank/paste with history (<leader>p to browse) |
| coding.vscode | VS Code keymap compat (not a real extra) |
DAP (Debugging) Extras
Enable these to add debugging support:
| Extra | Description | Keymaps |
|---|---|---|
| dap.core | Core DAP debugging | <leader>db (toggle breakpoint), <leader>dc (continue), <leader>do (step over), <leader>di (step into), <leader>dr (REPL) |
| dap.nlua | Neovim Lua DAP adapter |
DAP keymaps:
| Keymap | Action |
|---|---|
<leader>db | Toggle Breakpoint |
<leader>dB | Breakpoint Condition |
<leader>dc | Run / Continue |
<leader>dC | Run to Cursor |
<leader>dg | Go to Line (No Execute) |
<leader>di | Step Into |
<leader>dj | Down (stack) |
<leader>dk | Up (stack) |
<leader>dl | Run Last |
<leader>do | Step Out |
<leader>dO | Step Over |
<leader>dP | Pause |
<leader>dr | Toggle REPL |
<leader>da | Run with Args |
Editor Extras
| Extra | Description | Keymaps |
|---|---|---|
| editor.aerial | Code outline sidebar | <leader>cs |
| editor.dial | Increment/decrement numbers with context | |
| editor.fzf | Use fzf-lua instead of Telescope | Changes <leader>f* keymaps |
| editor.harpoon2 | Quick file navigation | <leader>ha (add), <leader>hh (menu), <leader>1-5 (jump) |
| editor.illuminate | Highlight word under cursor | Auto |
| editor.inc-rename | Incremental rename with preview | <leader>cr becomes interactive |
| editor.leap | Leap motion — jump anywhere with 2 keys | s + 2 chars |
| editor.mini-diff | Mini diff view in statuscolumn | |
| editor.mini-files | File explorer (mini.files) | <leader>e |
| editor.mini-move | Move lines with Alt+arrows | |
| editor.navic | Breadcrumb in statusline | |
| editor.neo-tree | Neo-tree file explorer (alternative to snacks explorer) | <leader>e |
| editor.outline | Symbol outline sidebar | <leader>cs |
| editor.overseer | Task runner | |
| editor.refactoring | Refactoring tools | <leader>cR |
| editor.snacks_explorer | Snacks file explorer | <leader>e |
| editor.snacks_picker | Snacks picker (replaces Telescope) | All <leader>f* / <leader>s* |
| editor.telescope | Telescope fuzzy finder (alternative to snacks picker) | All <leader>f* / <leader>s* |
Formatting Extras
| Extra | Description |
|---|---|
| formatting.black | Python Black formatter |
| formatting.prettier | Prettier formatter for JS/TS/JSON/Markdown |
| formatting.rustywind | Tailwind CSS class sorter |
| formatting.stylua | Lua formatter (already included, extra for explicit config) |
Language Extras
| Language | Import Path | Key Features |
|---|---|---|
| Angular | lang.angular | angular LSP, treesitter |
| C#/.NET | lang.cs | roslyn, omnisharp |
| Clang/C/C++ | lang.clangd | clangd LSP |
| Cucumber | lang.cucumber | Feature file support |
| Dart/Flutter | lang.dart | dart LSP, flutter tools |
| Elixir | lang.elixir | elixir LSP |
| Fish | lang.fish | fish shell LSP |
| Go | lang.go | gopls LSP |
| Haskell | lang.haskell | hls LSP |
| Java | lang.java | jdtls |
| Just | lang.just | justfile support |
| Kotlin | lang.kotlin | kotlin LSP |
| LaTeX | lang.tex | LaTeX support |
| Lua | lang.lua | (already default) |
| Luau | lang.luau | Luau LSP for Roblox |
| Make | lang.make | Makefile support |
| Markdown | lang.markdown | markdown preview, LSP |
| Nix | lang.nix | nix LSP |
| PHP | lang.php | intelephense |
| Protobuf | lang.protobuf | protobuf LSP |
| Python | lang.python | ruff LSP, pyright, debugpy |
| R | lang.r | R LSP |
| Ruby | lang.ruby | ruby LSP |
| Rust | lang.rust | rust-analyzer |
| Scala | lang.scala | metals |
| Shell | lang.sh | bash LSP |
| SQL | lang.sql | SQL LSP, database tools |
| Svelte | lang.svelte | svelte LSP |
| Tailwind | lang.tailwind | Tailwind CSS LSP |
| Todoist | lang.todoist | Todoist support |
| TOML | lang.toml | taplo LSP |
| TypeScript | lang.typescript | vtsls/tsserver |
| Vue | lang.vue | vue LSP |
| YAML | lang.yaml | yaml LSP |
Linting Extras
| Extra | Description |
|---|---|
| linting.eslint | ESLint integration (fix on save) |
LSP Extras
| Extra | Description |
|---|---|
| lsp.neoconf | Project-local LSP configuration (.neoconf.json) |
| lsp.none-ls | null-ls (alternative for formatters/linters) |
| lsp.none-ls-lint | null-ls linting |
Test Extras
| Extra | Description | Keymaps |
|---|---|---|
| test.core | Test runner UI | <leader>tt (run nearest), <leader>tf (run file), <leader>ts (suite), <leader>tl (last), <leader>to (output) |
UI Extras
| Extra | Description |
|---|---|
| ui.alpha | Alpha dashboard (alternative to snacks dashboard) |
| ui.edgy | Edge bar — pin windows to screen edges |
| ui.mini-animate | Cursor/scroll animations (mini.animate) |
| ui.mini-starter | Mini starter dashboard |
| ui.treesitter-context | Show function/class context at top of screen |
Util Extras
| Extra | Description |
|---|---|
| util.chezmoi | Chezmoi dotfile manager integration |
| util.dot | Graphviz dot file preview |
| util.grafana | Grafana dashboard integration |
| util.mini-hipatterns | Color highlight patterns |
| util.project | Project management |
| util.rest | REST client (http files) |
| util.root | Root directory detection utilities |
| util.uptime | Uptime tracking |
VS Code Extras
| Extra | Description |
|---|---|
| vscode | Use LazyVim keymaps inside VS Code (via vscode-neovim) |