# AstroNvim/AstroNvim

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/astronvim-astronvim).**

14,127 stars · 951 forks · Lua · gpl-3.0

## Links

- GitHub: https://github.com/AstroNvim/AstroNvim
- Homepage: https://AstroNvim.com
- awesome-repositories: https://awesome-repositories.com/repository/astronvim-astronvim.md

## Topics

`astronvim` `astrovim` `hacktoberfest` `ide` `lua` `neovim` `neovim-config` `neovim-configuration` `neovim-dotfiles` `neovim-lua` `neovim-lua-plugin` `neovim-plugin` `neovim-plugins` `neovim-setup` `nvim` `vim`

## Description

AstroNvim is a modular Neovim distribution that functions as a comprehensive development environment. It provides a pre-configured framework for managing editor settings, plugin ecosystems, and language server integrations, effectively transforming a base text editor into a full-featured integrated development environment.

The project distinguishes itself through a highly customizable Lua-based architecture that emphasizes modularity and performance. It enables users to manage complex editor configurations through a centralized, declarative system that supports lazy loading, community-maintained plugin specifications, and automated environment initialization. By treating the configuration directory as a standard project, it allows for granular control over editor behavior, UI components, and keybindings while maintaining the ability to isolate multiple editor instances.

Beyond its core configuration capabilities, the project includes extensive tooling for language analysis, debugging, and workflow automation. It integrates language server protocols to provide real-time code intelligence, diagnostics, and refactoring, alongside a suite of utilities for session management, fuzzy-finding, and terminal integration. The interface is fully extensible, allowing for the composition of custom status lines, dashboard elements, and visual themes to suit specific development needs.

The project is distributed as a Git-based repository, allowing users to clone and manage their development environment directly through standard version control workflows.

## Tags

### Development Tools & Productivity

- [Text Editors](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/text-editors.md) — Functions as a curated distribution that transforms a base editor into a full-featured development environment.
- [Language Server Protocol Clients](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-ide-extensions/language-server-protocol-clients.md) — Provides a robust client for the Language Server Protocol to enable real-time code intelligence.
- [Editor-Integrated Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/editor-integrated-debugging.md) — The Editor integrates debugging tools and interfaces to allow developers to inspect code execution, manage breakpoints, and view variable states. ([source](https://docs.astronvim.com/recipes/dap/))
- [Language Server Integrations](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations.md) — Integrates language servers to provide real-time code intelligence, diagnostics, and refactoring capabilities. ([source](https://docs.astronvim.com/reference/default_plugins/))
- [Plugin Ecosystems](https://awesome-repositories.com/f/development-tools-productivity/plugin-ecosystems.md) — Installing, updating, and monitoring third-party extensions to maintain a functional and up-to-date development environment with consistent performance.
- [Text Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/text-editor-configurations.md) — Standardizing and personalizing the development environment by centralizing keybindings, visual themes, and plugin settings into a modular configuration.
- [Editor Extension Managers](https://awesome-repositories.com/f/development-tools-productivity/code-editors-ides/extension-ecosystems-management/editor-extensions/editor-tooling/editor-extension-managers.md) — Provides a centralized, declarative system for installing and managing editor extensions. ([source](https://docs.astronvim.com/))
- [Development Environment Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-environment-configurations.md) — Provides a modular workspace configuration system that treats settings as a project. ([source](https://docs.astronvim.com/))
- [Development Workflow Automation](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-automation.md) — Streamlining repetitive coding tasks like session management, terminal access, and file navigation to improve overall developer productivity and efficiency.
- [Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/editor-configurations.md) — Centralizes global settings, key mappings, and session persistence configuration. ([source](https://docs.astronvim.com/configuration/core_plugins/))
- [Fuzzy-Finding Pickers](https://awesome-repositories.com/f/development-tools-productivity/editor-search-integrations/fuzzy-finding-pickers.md) — Provides high-performance fuzzy-finding pickers for rapid navigation of project files and symbols. ([source](https://docs.astronvim.com/mappings))
- [Language Server Protocols](https://awesome-repositories.com/f/development-tools-productivity/language-server-protocols.md) — Configures and manages language server protocol utilities for enhanced development workflows. ([source](https://docs.astronvim.com/configuration/core_plugins/))
- [Lifecycle Event Hooks](https://awesome-repositories.com/f/development-tools-productivity/lifecycle-event-hooks.md) — Executes custom user logic by subscribing to internal editor events like buffer changes, file opening, or session initialization. ([source](https://docs.astronvim.com/reference/autocmds/))
- [Code Search Tools](https://awesome-repositories.com/f/development-tools-productivity/code-search-tools.md) — Provides an interface for searching and navigating code references and symbols. ([source](https://docs.astronvim.com/recipes/mappings/))
- [Inlay Hint Renderers](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-experience/type-hint-integrations/inlay-hint-renderers.md) — Renders type information and parameter names as inline virtual text within the editor. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))
- [Development Environment Setups](https://awesome-repositories.com/f/development-tools-productivity/development-environment-setups.md) — The Editor automatically configures the development workspace through a headless setup process that prepares the environment for immediate use upon launch. ([source](https://docs.astronvim.com/reference/alt_install/))
- [Editor Diagnostics](https://awesome-repositories.com/f/development-tools-productivity/editor-diagnostics.md) — Customizes the visual presentation of code diagnostics, including virtual text and floating windows. ([source](https://docs.astronvim.com/recipes/diagnostics/))
- [Editor Extensions](https://awesome-repositories.com/f/development-tools-productivity/editor-extensions.md) — Extends editor functionality through a modular plugin system and custom configurations. ([source](https://docs.astronvim.com/astrocommunity))
- [Mode-Specific Keybindings](https://awesome-repositories.com/f/development-tools-productivity/keybinding-configurations/mode-specific-keybindings.md) — Maps keyboard shortcuts to commands or functions with mode-specific scoping. ([source](https://docs.astronvim.com/recipes/mappings/))
- [Plugin Management](https://awesome-repositories.com/f/development-tools-productivity/plugin-management.md) — Automates the lifecycle management, including updates and monitoring, of installed editor plugins. ([source](https://docs.astronvim.com/mappings))
- [Syntax Highlighting Configurations](https://awesome-repositories.com/f/development-tools-productivity/syntax-highlighting-configurations.md) — Configures language-specific parsing and highlighting rules to improve code readability. ([source](https://docs.astronvim.com/recipes/treesitter/))
- [Syntax Highlighting Engines](https://awesome-repositories.com/f/development-tools-productivity/syntax-highlighting-engines.md) — Enables syntax highlighting engines to provide accurate visual styling and structural analysis for various file types. ([source](https://docs.astronvim.com/faq))
- [Formatting Configurations](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/formatting-configurations.md) — The Editor enables automatic code formatting on save using filetype filters or custom logic to determine when and how formatting should occur. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))
- [Editor Initialization Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/dependency-orchestrators/editor-initialization-orchestrators.md) — Initializes the development environment by programmatically applying settings and installing dependencies during the editor startup sequence.
- [Root Detection Utilities](https://awesome-repositories.com/f/development-tools-productivity/project-navigation-tools/root-detection-utilities.md) — Automatically detects project root directories to set the correct context for file operations and language servers. ([source](https://docs.astronvim.com/recipes/rooter/))
- [Task Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/task-automation-tools.md) — The Editor streamlines repetitive development workflows including session management, terminal access, and snippet expansion to improve overall coding efficiency. ([source](https://docs.astronvim.com/reference/default_plugins/))
- [Text Snippet Managers](https://awesome-repositories.com/f/development-tools-productivity/text-snippet-managers.md) — Maps file patterns to text templates for rapid insertion of reusable code snippets. ([source](https://docs.astronvim.com/recipes/snippets/))
- [Git Worktree Management](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/git-utilities/git-worktree-management.md) — Integrates Git worktree management and version control features directly into the editor. ([source](https://docs.astronvim.com/recipes/detached_git_worktrees/))
- [Multi-Language Formatters](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-formatting-tools/multi-language-formatters.md) — Coordinates multiple formatters and language servers to apply consistent code styling. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))
- [Editor Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/isolated-execution-environments/editor-configurations.md) — Supports running multiple independent editor instances by isolating configuration directories. ([source](https://docs.astronvim.com/reference/alt_install/))
- [Editor Buffer Managers](https://awesome-repositories.com/f/development-tools-productivity/editor-buffer-managers.md) — Manages active file buffers through interactive navigation and organization tools. ([source](https://docs.astronvim.com/mappings))
- [Manual Server Definitions](https://awesome-repositories.com/f/development-tools-productivity/language-server-integrations/manual-server-definitions.md) — Allows manual definition of language servers for tools not supported by automated installers. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))
- [Debugger Adapters](https://awesome-repositories.com/f/development-tools-productivity/package-installers/debugger-adapters.md) — The Editor automates the setup of debugging adapters through a package manager to ensure compatibility with various programming languages. ([source](https://docs.astronvim.com/recipes/dap/))
- [Code Completion Controls](https://awesome-repositories.com/f/development-tools-productivity/suggestion-engines/code-completion-controls.md) — The Editor configures completion triggers and navigation mappings to allow seamless acceptance of AI-generated code suggestions alongside standard items. ([source](https://docs.astronvim.com/recipes/ai/))

### Software Engineering & Architecture

- [Configuration Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/configuration-frameworks.md) — Acts as a modular framework for managing Neovim configurations, plugins, and language server integrations.
- [Declarative Configuration Managers](https://awesome-repositories.com/f/software-engineering-architecture/declarative-configuration-managers.md) — Manages editor extensions through a centralized, modular configuration system that handles dependency resolution and lazy loading.
- [Lua-Based Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/lua-based-plugin-architectures.md) — Uses Lua as the primary language for configuration, plugin orchestration, and editor automation.
- [Community Framework Integrations](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/framework-specific-integrations/community-framework-integrations.md) — Imports community-maintained plugin specifications and toolsets to augment editor functionality. ([source](https://docs.astronvim.com/))

### User Interface & Experience

- [Editor Appearance Customization](https://awesome-repositories.com/f/user-interface-experience/editor-customization-tools/editor-appearance-customization.md) — Supports integration of third-party visual themes and color schemes for personalized interface styling. ([source](https://docs.astronvim.com/recipes/colorscheme/))
- [Session Restoration](https://awesome-repositories.com/f/user-interface-experience/editor-components/session-restoration.md) — Saves and restores file buffers and window layouts to maintain continuity across sessions. ([source](https://docs.astronvim.com/recipes/sessions/))
- [Editor Themes](https://awesome-repositories.com/f/user-interface-experience/editor-themes.md) — Implements accessible, high-contrast color schemes to improve visual clarity and reduce eye strain during coding. ([source](https://docs.astronvim.com/configuration/core_plugins/))
- [Component Appearance Customizers](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/visual-styling-presentation/interface-appearance-customization/component-appearance-customizers.md) — Defines visual components like status lines and icons to maintain a cohesive interface appearance. ([source](https://docs.astronvim.com/configuration/core_plugins/))
- [Inline Annotations](https://awesome-repositories.com/f/user-interface-experience/text-rendering/inline-annotations.md) — Projects dynamic information from language servers directly into the editor buffer as non-editable inline annotations.
- [Color Themes](https://awesome-repositories.com/f/user-interface-experience/color-themes.md) — Saves and restores active color schemes across editor restarts to maintain a consistent visual environment. ([source](https://docs.astronvim.com/recipes/colorscheme/))
- [Component Composition Primitives](https://awesome-repositories.com/f/user-interface-experience/component-architectures/component-composition/component-composition-primitives.md) — Constructs the user interface by assembling independent, swappable modules for status lines, tab bars, and dashboard elements.
- [Dashboard Customizations](https://awesome-repositories.com/f/user-interface-experience/dashboards-and-homepages/dashboard-customizations.md) — Enables modification of the startup dashboard's visual header and interactive elements. ([source](https://docs.astronvim.com/recipes/dashboard/))
- [Modular UI Components](https://awesome-repositories.com/f/user-interface-experience/modular-ui-components.md) — Constructs modular statuslines and tablines using dynamic data providers and conditional logic. ([source](https://docs.astronvim.com/recipes/status/))

### Operating Systems & Systems Programming

- [Session Management](https://awesome-repositories.com/f/operating-systems-systems-programming/session-management.md) — Saves and restores editor state, including open files and window layouts, across sessions. ([source](https://docs.astronvim.com/mappings))
- [Terminal Session Managers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-management/terminal-session-managers.md) — Integrates terminal instances directly into the editor for command execution and shell management. ([source](https://docs.astronvim.com/mappings))

### Artificial Intelligence & ML

- [Configuration Autocompletion](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-assisted-editing-environments/configuration-autocompletion.md) — Provides schema-aware autocompletion and documentation lookups for configuration files. ([source](https://docs.astronvim.com/configuration/lua_completion/))

### Data & Databases

- [Completion Provider Integrations](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/matching-ranking-logic/completion-configurators/completion-provider-integrations.md) — Integrates multiple completion providers to expand the range of intelligent code suggestions. ([source](https://docs.astronvim.com/recipes/cmp/))

### DevOps & Infrastructure

- [Startup Plugin Loaders](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations/plugin-parameterization/startup-plugin-loaders.md) — Optimizes startup time by lazily loading plugins and configurations based on triggers. ([source](https://docs.astronvim.com/configuration/customizing_plugins))

### Programming Languages & Runtimes

- [Callable Signatures](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-definitions/callable-signatures.md) — Displays function signatures and parameter information in pop-up windows to assist with API usage. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))

### Networking & Communication

- [Reference Synchronization](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/data-synchronization-consistency/distributed-file-synchronization/file-synchronization-services/reference-synchronization.md) — Updates project-wide imports and references automatically when files are moved or renamed. ([source](https://docs.astronvim.com/recipes/advanced_lsp/))
