Skip to content

Plugins

Overview of core LazyVim plugins and their functionality.

Plugin Manager: lazy.nvim

lazy.nvim manages all plugins with lazy-loading support.

Plugin UI

Open the plugin manager:

:Lazy

Keybindings in Lazy UI

Key Action
I Install missing plugins
Shift+U Update plugins
Shift+S Sync (install, clean, update)
Shift+X Clean unused plugins
C Check for updates
L View log
R Restore from lockfile
P Profile startup time
Q Close

Lockfile

Plugin versions are locked in lazy-lock.json. Commit this file to ensure reproducible setups.

# Restore plugins to lockfile versions
:Lazy restore

Fuzzy Finder: Telescope

telescope.nvim provides fuzzy finding for everything.

Common Pickers

Command Keybinding Description
:Telescope find_files Space+Space Find files
:Telescope live_grep Space+/ Search in files
:Telescope buffers Space+, Switch buffer
:Telescope oldfiles Space+F+R Recent files
:Telescope git_files Space+F+G Git tracked files
:Telescope help_tags Space+S+H Search help
:Telescope keymaps Space+S+K Search keymaps

Telescope Controls

Key Action
Ctrl+J / Ctrl+K Navigate results
Enter Open selection
Ctrl+X Open in horizontal split
Ctrl+V Open in vertical split
Ctrl+U Scroll preview up
Ctrl+D Scroll preview down
Tab Toggle selection
Ctrl+Q Send to quickfix

File Explorer: Neo-tree

neo-tree.nvim provides a sidebar file explorer.

Commands

Command Keybinding Description
:Neotree toggle Space+E Toggle explorer
:Neotree focus Space+F+E Focus explorer
:Neotree git_status - Git status view
:Neotree buffers - Buffer view

Neo-tree Controls

Key Action
Enter / O Open file
A Add file/directory
D Delete
R Rename
C Copy
M Move
Y Copy name
Shift+Y Copy path
. Toggle hidden
? Show help

Syntax Highlighting: Treesitter

nvim-treesitter provides advanced syntax highlighting.

Install Parsers

:TSInstall python rust lua javascript typescript

Commands

Command Description
:TSInstall <lang> Install parser
:TSUpdate Update all parsers
:TSInstallInfo Show installed parsers
:TSModuleInfo Show module info

Features

  • Highlighting: Semantic, context-aware highlighting
  • Indentation: Smart indentation
  • Folding: Code folding based on syntax
  • Text objects: Function and class text objects

Buffer Line: bufferline.nvim

bufferline.nvim shows open buffers as tabs.

Key Action
Shift+H Previous buffer
Shift+L Next buffer
Space+B+D Close buffer
Space+B+O Close other buffers
Space+B+P Toggle pin

Status Line: lualine.nvim

lualine.nvim provides the status line at the bottom.

Displays: - Mode indicator - Git branch - File info - LSP status - Diagnostics - Cursor position

Keybinding Help: which-key.nvim

which-key.nvim shows available keybindings.

Press Space and wait to see all leader key combinations.

Configuration

-- lua/plugins/which-key.lua
return {
  "folke/which-key.nvim",
  opts = {
    delay = 200,  -- Delay before showing (ms)
  },
}

Git Signs: gitsigns.nvim

gitsigns.nvim shows git status in the gutter.

Signs

Sign Meaning
| (green) Added lines
| (blue) Changed lines
_ (red) Deleted lines

Commands

Key Action
]+H Next hunk
[+H Previous hunk
Space+G+S Stage hunk
Space+G+R Reset hunk
Space+G+Shift+S Stage buffer
Space+G+U Undo stage hunk
Space+G+P Preview hunk
Space+G+B Blame line

Commenting: Comment.nvim

Built-in commenting functionality.

Key Action
G+C+C Toggle line comment
G+C (visual) Toggle selection comment
G+B+C Toggle block comment

Auto Pairs: mini.pairs

Automatically closes brackets, quotes, etc.

Type Inserts
( ()
[ []
{ {}
" ""
' ''

Surround: mini.surround

Add, delete, replace surroundings.

Key Action
gza + motion + char Add surrounding
gzd + char Delete surrounding
gzr + old + new Replace surrounding

Examples:

  • gzaiw" - Surround word with quotes
  • gzd" - Delete surrounding quotes
  • gzr"' - Replace double quotes with single

LSP: nvim-lspconfig

Built-in LSP support with nvim-lspconfig.

Commands

Command Description
:LspInfo Show active LSP clients
:LspStart Start LSP
:LspStop Stop LSP
:LspRestart Restart LSP

Completion: nvim-cmp

nvim-cmp provides auto-completion.

Controls

Key Action
Ctrl+Space Trigger completion
Ctrl+N Next item
Ctrl+P Previous item
Enter Accept
Ctrl+E Close menu
Ctrl+D Scroll docs down
Ctrl+F Scroll docs up

Sources

Completion sources (in priority order):

  1. LSP
  2. Luasnip (snippets)
  3. Buffer
  4. Path

Snippets: LuaSnip

LuaSnip provides snippet expansion.

Key Action
Tab Expand or jump forward
Shift+Tab Jump backward

Mason: LSP Server Manager

mason.nvim manages LSP servers, linters, formatters.

Commands

Command Description
:Mason Open Mason UI
:MasonInstall <pkg> Install package
:MasonUninstall <pkg> Uninstall package
:MasonUpdate Update packages

Mason UI

Key Action
I Install
Shift+X Uninstall
U Update
Ctrl+C Cancel

Diagnostics: trouble.nvim

trouble.nvim shows diagnostics in a list.

Key Action
Space+X+X Document diagnostics
Space+X+Shift+X Workspace diagnostics
Space+X+L Location list
Space+X+Q Quickfix list

Terminal: toggleterm

Integrated terminal support.

Key Action
Ctrl+/ Toggle terminal
Space+F+T Float terminal (root)
Space+F+Shift+T Float terminal (cwd)

Inside terminal, press Esc+Esc or Ctrl+\+\ to exit terminal mode.

Indent Guides: indent-blankline

Shows vertical indent guides.

Customize:

-- lua/plugins/indent.lua
return {
  "lukas-reineke/indent-blankline.nvim",
  opts = {
    indent = {
      char = "|",
    },
    scope = {
      enabled = true,
    },
  },
}