A personal Neovim configuration based on LazyVim - a modern, feature-rich Neovim setup that provides an IDE-like experience out of the box.
This repository contains my customized Neovim configuration built on top of the LazyVim starter template. LazyVim is a Neovim setup powered by lazy.nvim that comes pre-configured with sensible defaults, plugin management, and extensive language support.
LazyVim is a Neovim distribution that transforms Neovim into a powerful, modern IDE with:
- 🚀 Fast startup times through lazy loading
- 📦 Pre-configured plugin ecosystem
- 🎨 Beautiful UI with modern colorschemes
- 🔧 LSP (Language Server Protocol) support
- 🌳 File explorer and fuzzy finding
- 💻 Terminal integration
- 🔍 Advanced search and replace
- ✅ Syntax highlighting and code completion
- Color Scheme: Gruvbox Material
- Variant:
hardbackground - Transparent background enabled for terminal integration
- Warm, retro groove colors with improved contrast
- Variant:
Integrated lazygit.nvim for a seamless Git workflow directly within Neovim.
Available Commands:
LazyGit- Open LazyGit in a floating windowLazyGitConfig- Open LazyGit configurationLazyGitCurrentFile- Open LazyGit for the current fileLazyGitFilter- Open LazyGit with filtered viewLazyGitFilterCurrentFile- Open LazyGit filtered for current file
Keybinding: <leader>lg - Quick access to LazyGit interface
- Neovim >= 0.9.0
- Git
- A Nerd Font (optional, but recommended)
- C compiler (for treesitter)
- ripgrep (for telescope fuzzy finding)
- lazygit (for Git integration)
-
Backup your current Neovim configuration (if you have one):
mv ~/.config/nvim ~/.config/nvim.backup mv ~/.local/share/nvim ~/.local/share/nvim.backup
-
Clone this repository:
git clone https://github.com/codila125/neovim-config.git ~/.config/nvim -
Install lazygit (if not already installed):
# macOS brew install lazygit # Ubuntu/Debian sudo apt install lazygit # Arch Linux sudo pacman -S lazygit # Windows (via Scoop) scoop install lazygit
-
Start Neovim:
nvim
LazyVim will automatically install all plugins on first launch.
This configuration extends the LazyVim starter template with the following modifications:
- Plugin:
sainnhe/gruvbox-material - Settings:
- Hard contrast background for better readability
- Transparent background for terminal integration
- Set as default colorscheme
- Plugin:
kdheepak/lazygit.nvim - Features:
- Floating window interface
- Lazy-loaded for performance
- Custom keybinding for quick access
- Dependency on
plenary.nvim
- LazyVim Documentation
- LazyVim GitHub Repository
- Neovim Documentation
- Gruvbox Material Theme
- LazyGit TUI
~/.config/nvim/
├── lua/
│ ├── config/ # General configuration
│ └── plugins/ # Plugin specifications and customizations
│ ├── gruvbox.lua # Theme configuration
│ └── lazygit.lua # LazyGit integration
├── init.lua # Entry point
└── README.md # This file
- Leader Key:
<Space> - File Explorer:
<leader>e- Toggle file explorer - Find Files:
<leader>ff- Fuzzy find files - Grep Search:
<leader>fg- Search text across files - LSP Features:
gd- Go to definitionK- Hover documentation<leader>ca- Code actions
- LazyGit:
<leader>lg- Open LazyGit interface
- Provides excellent contrast without eye strain
- Hard variant offers sharper distinction between UI elements
- Transparent background integrates beautifully with modern terminals
- Warm, earthy color palette reduces fatigue during long coding sessions
- Eliminates context switching between terminal and editor
- Visual Git interface is more intuitive than CLI commands
- Lazy-loaded to maintain fast startup times
- Powerful features for staging, committing, branching, and rebasing
Feel free to fork this repository and adapt it to your needs! If you have suggestions or improvements, open an issue or pull request.
Maintained by: @codila125
Note: For detailed LazyVim usage and customization, refer to the official documentation.