A modern, feature-rich Neovim configuration focused on providing a complete development environment. Built with Lua and designed for extensibility.
-
🚀 Performance
- Fast startup with lazy loading
- Efficient plugin management
- Optimized file operations
- Smart caching system
-
🎨 User Interface
- Dynamic theme switching based on time
- Beautiful and functional UI components
- Custom icons and visual elements
- Random Alpha logos/banners
- Winbar with context information
-
📝 Development
- Advanced LSP integration
- AI coding assistant
- Codeium
- Powerful debugging support
- Git integration with conflict resolution
- Database integration with Dbee
-
🔧 Tools & Utilities
- Fuzzy finding with Telescope
- File tree with NvimTree
- Terminal integration
- REST API client
- Session management
- Advanced search and replace
-
⚙️ Configuration
- Type checking and linting
- Automatic package management
- Optional GUI support (Neovide/Neoray)
- Extensive customization options
- Well-documented codebase
- Neovim >= 0.10.0
- Git >= 2.19.0
- A Nerd Font (Optional but recommended)
- For optional features:
- Node.js >= 20
- Python >= 3.7
- Go >= 1.20
- Rust ( >= latest stable)
- Luarocks
bash <(curl -s https://raw.githubusercontent.com/AnoRebel/AnoNvim/main/.install/installer.sh)
Options:
-h, --help Print this help message
-l, --local Install local copy of AnoNvim
-y, --yes Automatic yes to prompts
--overwrite Overwrite existing configuration
--no-install-dependencies Skip dependency installation
--neovide Install Neovide GUI
--neoray Install Neoray GUI
After installation:
- Run
avim
to start AnoNvim - Initial setup will install required plugins
.
├── init.lua # Main entry point
├── lua/avim
│ ├── core # Core functionality
│ │ ├── defaults.lua # Default settings
│ │ ├── init.lua # Core initialization
│ │ ├── log.lua # Logging system
│ │ └── settings.lua # Neovim settings
│ ├── commands.lua # Commands and autocommand definitions
│ ├── health.lua # Health check
│ ├── icons.lua # Icon definitions
│ ├── lazy.lua # Plugin management
│ ├── update.lua # Update system
│ ├── plugins # Plugin configurations
│ │ ├── bufferline.lua # Bufferline(top bar) configurations
│ │ ├── completions.lua # Code completion configurations
│ │ ├── database.lua # Database configurations
│ │ ├── editor.lua # Editor configurations
│ │ ├── explorer.lua # File explorer configurations
│ │ ├── extras.lua # Extra plugin configurations
│ │ ├── formatting.lua # Code formatting configurations
│ │ ├── git.lua # Git configurations
│ │ ├── lsp.lua # LSP configurations
│ │ ├── lualine.lua # Lualine(bottom bar) configurations
│ │ ├── remote.lua # Remote Coding configurations
│ │ ├── rest.lua # Rest client configurations
│ │ ├── search.lua # Search and Replace configurations
│ │ ├── snacks.lua # Folke's Snacks configurations
│ │ ├── telescope.lua # Telescope configurations
│ │ ├── themes.lua # Themes configurations
│ │ ├── treesitter.lua # Treesitter configurations
│ │ └── ui.lua # UI components and configurations
│ └── utilities # Utility functions
AnoNvim provides multiple ways to explore keybindings:
-
Keymaps Search:
:Telescope keymaps
or<leader>fk
-
Which Key:
- Press
<leader>
to see available key bindings - Context-aware key suggestions
- Press
Note: <leader>
key is mapped to the Space
key
🧠 AI Assistance
- Codeium.nvim - AI code completion
📝 Editor Enhancement
- Alpha - Startup screen
- Better Escape - Better escape key handling
- Comment - Code commenting
- Surround - Text surroundings
- Which Key - Key binding helper
🎨 User Interface
🛠️ Development Tools
📦 Git Integration
Built upon the great work of:
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for more details.