Skip to content

AnoRebel/AnoNvim

Repository files navigation

AnoNvim

AnoNvim

A modern, feature-rich Neovim configuration focused on providing a complete development environment. Built with Lua and designed for extensibility.

Features

  • 🚀 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

Requirements

  • 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

Installation

bash <(curl -s https://raw.githubusercontent.com/AnoRebel/AnoNvim/main/.install/installer.sh)

Installation Options

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:

  1. Run avim to start AnoNvim
  2. Initial setup will install required plugins

Directory Structure

.
├── 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

Key Bindings

AnoNvim provides multiple ways to explore keybindings:

  1. Keymaps Search:

    • :Telescope keymaps or <leader>fk
  2. Which Key:

    • Press <leader> to see available key bindings
    • Context-aware key suggestions

Note: <leader> key is mapped to the Space key

Plugin Categories

🧠 AI Assistance
📝 Editor Enhancement
🎨 User Interface
🛠️ Development Tools
📦 Git Integration

Gallery

Screenshots (Click to expand)

Dashboard NeoTree Keymaps Search and Replace Themes Terminal Database

Credits

Built upon the great work of:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE for more details.

About

My personal Neovim config

Topics

Resources

License

Stars

Watchers

Forks

Languages