A Modern Neovim Distribution with VS Code-style Keybindings
KabirNvim is a complete, user-friendly Neovim distribution that works out of the box with minimal configuration. It provides a modern IDE experience with VS Code-style keybindings, dual AI assistant support, and a beautiful transparent UI.
- ๐ Zero Configuration: Works perfectly out of the box
- ๐ฏ VS Code Keybindings: Familiar shortcuts for easy transition
- ๐ค Dual AI Support: Seamlessly switch between Copilot and Codeium
- ๐จ Beautiful UI: Gruvbox theme with transparency support
- โก Performance First: Optimized lazy loading and fast startup
- ๐ง Easy Customization: Simple configuration without complex setups
bash <(curl -s https://raw.githubusercontent.com/kabirajpan/kabirnvim/main/install.sh)# 1. Backup existing config
mv ~/.config/nvim ~/.config/nvim.backup
# 2. Clone KabirNvim
git clone https://github.com/kabirajpan/kabirnvim ~/.config/nvim
# 3. Start Neovim
nvimThat's it! KabirNvim will automatically:
- Install all plugins
- Set up language servers
- Configure everything for you
| Command | Description |
|---|---|
:KabirNvimConfig |
Open configuration file |
:KabirNvimInfo |
Show current settings |
:KabirNvimUpdate |
Update all plugins |
:KabirNvimReload |
Reload configuration |
| Key | Action |
|---|---|
F8 |
Enable GitHub Copilot |
F9 |
Enable Codeium |
F10 |
Toggle between assistants |
- File Explorer:
Ctrl+Eto toggle - Find Files:
Ctrl+Pfor file search - Global Search:
Ctrl+Shift+Fto search in all files - Command Palette:
Ctrl+Shift+Pfor commands
KabirNvim uses a simple configuration approach. You only need to edit one file:
:KabirNvimConfignvim ~/.config/nvim/lua/user/config.lua-- ~/.config/nvim/lua/user/config.lua
return {
-- Theme settings
theme = {
name = "gruvbox", -- gruvbox, tokyonight, catppuccin
transparent = true, -- Enable transparency
style = "dark", -- dark, light
},
-- AI assistants
ai = {
copilot = true, -- Enable GitHub Copilot
codeium = true, -- Enable Codeium
default = "copilot", -- Default AI assistant
},
-- Editor behavior
editor = {
number = true, -- Show line numbers
relative_number = false, -- Use relative line numbers
wrap = false, -- Wrap long lines
indent_size = 2, -- Indentation size
auto_save = false, -- Auto-save on change
},
-- Key binding style
keymaps = {
style = "vscode", -- vscode, vim, custom
},
-- UI components
ui = {
dashboard = true, -- Show dashboard on startup
bufferline = true, -- Show buffer tabs
statusline = true, -- Show status line
file_explorer = "nvimtree", -- nvimtree, neotree, none
},
}| Key | Action |
|---|---|
Ctrl+S |
Save file |
Ctrl+N |
New file |
Ctrl+W |
Close buffer |
Ctrl+E |
Toggle file explorer |
Ctrl+P |
Find files |
| Key | Action |
|---|---|
Ctrl+C/X/V |
Copy/Cut/Paste |
Ctrl+Z/Y |
Undo/Redo |
Ctrl+A |
Select all |
Ctrl+/ |
Toggle comment |
Alt+Up/Down |
Move line up/down |
| Key | Action |
|---|---|
Alt+Left/Right |
Switch buffers |
Ctrl+B |
Buffer list |
F12 / gd |
Go to definition |
Shift+F12 |
Find references |
| Key | Action |
|---|---|
Ctrl+F |
Find in file |
Ctrl+H |
Replace in file |
Ctrl+Shift+F |
Global search |
Edit ~/.config/nvim/lua/user/plugins.lua:
return {
-- Add new plugin
{
"your-username/plugin-name",
config = function()
-- Plugin configuration
end,
},
-- Override built-in plugin
{
"nvim-telescope/telescope.nvim",
opts = {
-- Custom telescope options
},
},
}KabirNvim automatically detects and installs language servers for:
- Web Development: TypeScript, JavaScript, HTML, CSS, Tailwind
- Systems: Rust, C/C++, Go
- Scripting: Python, Lua, Bash
- Data: JSON, YAML, TOML, XML
- Others: Java, SQL, Markdown
Switch themes easily:
:KabirNvimTheme tokyonight
:KabirNvimTheme catppuccin
:KabirNvimTheme gruvboxOr use the theme picker:
:KabirNvimThemeKeep your distribution up to date:
:KabirNvimUpdate| Feature | KabirNvim | AstroNvim | NvChad |
|---|---|---|---|
| Setup Complexity | โญโญโญโญโญ | โญโญโญ | โญโญโญ |
| VS Code Keybindings | โ Built-in | โ Manual | โ Manual |
| Dual AI Support | โ F8/F9/F10 | โ Manual | โ Manual |
| One-File Config | โ
user/config.lua |
โ Multiple files | โ Multiple files |
| Transparency | โ Built-in | โ๏ธ Manual setup | โ๏ธ Manual setup |
| Beginner Friendly | โ Zero config | โ๏ธ Learning curve | โ๏ธ Learning curve |
~/.config/nvim/
โโโ init.lua # Main entry point (don't edit)
โโโ lua/
โ โโโ kabirnvim/ # Distribution core (don't edit)
โ โโโ user/ # Your customizations
โ โโโ config.lua # Main configuration file
โ โโโ plugins.lua # Custom plugins
โโโ README.md
You only need to edit files in the lua/user/ directory!
-
Plugins not loading
:Lazy sync -
Language servers not working
:Mason
-
AI assistants not working
- Copilot:
:Copilot auth - Codeium:
:Codeium Auth
- Copilot:
-
Reset to defaults
rm ~/.config/nvim/lua/user/config.lua nvim # Will recreate with defaults
:KabirNvimInfo- Show current configuration:checkhealth- Check Neovim health:Lazy- Manage plugins:Mason- Manage language servers
- Neovim >= 0.8.0
- Git (for plugin management)
- Node.js (optional, for JS/TS language servers)
- Python (optional, for Python development)
- Nerd Font (recommended for icons)
- ripgrep - for faster searching
- fd - for faster file finding
- LazyGit - for advanced git integration
MIT License - See LICENSE file for details.
Found a bug or want to suggest a feature? Please:
- Check existing issues first
- Create a detailed issue or PR
- Help make KabirNvim even better!
Love KabirNvim? Star the repo and share with friends!
Happy coding with KabirNvim! ๐