Skip to main content

Overview

This Neovim configuration is built on LazyVim, a pre-configured Neovim setup that provides a solid foundation with sensible defaults and a plugin ecosystem.

LazyVim Base

LazyVim provides:
  • Modern plugin management via lazy.nvim
  • Pre-configured LSP, linting, and formatting
  • File explorer, fuzzy finder, and git integration
  • Catppuccin theme integration
  • Extensive keybindings
Refer to the LazyVim documentation for the full feature set and default keybindings.

Configuration Structure

Entry Point

The configuration starts simple:
This bootstraps lazy.nvim and loads all configuration modules.

Custom Options

Minimal options override LazyVim defaults:
This sets the root directory detection to use the current working directory.

Custom Keymaps

File Explorer

  • <leader>e - Toggle Neo-tree file explorer

File Finding

  • <leader><space> - Find files with Telescope
  • <leader>ff - Find files (alternative)

Default Leader Key

LazyVim uses <space> as the leader key by default.

Plugin Configuration

Catppuccin Theme

The Catppuccin theme is configured with extensive integrations:

Core Plugins

Colorscheme is set to Catppuccin:

Telescope Configuration

Telescope is configured to find hidden files:

Essential LazyVim Keybindings

Installing Plugins

Add new plugins by creating files in lua/plugins/:
Lazy.nvim will automatically load all files in the plugins directory.

Managing Plugins

  • :Lazy - Open plugin manager UI
  • :Lazy update - Update all plugins
  • :Lazy sync - Install/update/clean plugins
  • :Lazy clean - Remove unused plugins

LSP Management

LazyVim uses Mason for LSP server management:
  • :Mason - Open Mason UI
  • :MasonInstall <server> - Install LSP server
  • :LspInfo - Show LSP status

Code Formatting

Formatting is handled by conform.nvim (included in LazyVim):
  • <leader>cf - Format current buffer
  • Auto-formatting on save (configurable)

FAQ

Edit lua/plugins/core.lua:
Create a plugin spec with enabled = false:
LazyVim defaults are documented at:
Use Mason to install:
Search for your language server and press i to install. LazyVim will auto-configure most servers.
Add your keymaps to lua/config/keymaps.lua. They will override defaults:

Stylua Configuration

Lua code formatting is configured via stylua.toml: