A modern Neovim configuration built with Lua, featuring a carefully curated set of plugins for an enhanced development experience.
- 🚀 Fast startup with lazy loading via lazy.nvim
- 🎨 Beautiful color scheme with Catppuccin
- 📁 File explorer with Neo-tree
- 🔍 Fuzzy finder with Telescope
- 💡 LSP support with autocompletion
- 🌳 Syntax highlighting with Treesitter
- ✨ Code formatting and linting with none-ls
- 📊 Status line with Lualine
- 🔖 Buffer management with Bufferline
- 🎯 Git integration with Gitsigns
- 💬 Smart commenting
- 📏 Indent guides
- Neovim >= 0.9.0
- Git
- A Nerd Font (for icons)
- ripgrep (for Telescope live grep)
- Node.js (for LSP servers)
- Backup your existing Neovim configuration:
mv ~/.config/nvim ~/.config/nvim.bak- Clone this repository:
git clone https://github.com/dnp1204/neovim.git ~/.config/nvim- Start Neovim:
nvimThe plugin manager will automatically install all plugins on first launch.
~/.config/nvim/
├── init.lua # Entry point
├── lazy-lock.json # Plugin version lock file
└── lua/
├── core/
│ ├── options.lua # General Neovim options
│ ├── keymaps.lua # Key mappings
│ └── snippets.lua # Custom snippets
└── plugins/
├── alpha.lua # Dashboard
├── autocompletion.lua # Completion engine
├── bufferline.lua # Buffer tabs
├── colortheme.lua # Color scheme
├── comment.lua # Commenting utilities
├── gitsigns.lua # Git decorations
├── indent-blankline.lua # Indent guides
├── lsp.lua # LSP configuration
├── lualine.lua # Status line
├── misc.lua # Miscellaneous plugins
├── neotree.lua # File explorer
├── none-ls.lua # Formatting & linting
├── telescope.lua # Fuzzy finder
└── treesitter.lua # Syntax highlighting
- Neo-tree: File explorer with icons and git integration
- Telescope: Fuzzy finder for files, buffers, and more
- nvim-lspconfig: Native LSP configuration
- nvim-cmp: Autocompletion engine
- none-ls: Code formatting and linting
- Catppuccin: Eye-pleasing color scheme
- Lualine: Customizable status line
- Bufferline: Enhanced buffer tabs
- Alpha: Greeter dashboard
- Indent Blankline: Visual indent guides
- Treesitter: Advanced syntax highlighting
- Gitsigns: Git status in the gutter
- Comment.nvim: Smart commenting
Feel free to modify the configuration to suit your needs:
- Options: Edit
lua/core/options.luafor general settings - Keymaps: Edit
lua/core/keymaps.luafor custom key bindings - Plugins: Add or modify plugins in
lua/plugins/
Plugins are managed by lazy.nvim. To update:
- Open Neovim
- Run
:Lazy update
This configuration is open source and available for personal use.
Built with inspiration from the Neovim community and various configurations.