# syl20bnr/spacemacs

**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/syl20bnr-spacemacs).**

24,560 stars · 4,837 forks · Emacs Lisp · GPL-3.0

## Links

- GitHub: https://github.com/syl20bnr/spacemacs
- Homepage: http://spacemacs.org
- awesome-repositories: https://awesome-repositories.com/repository/syl20bnr-spacemacs.md

## Topics

`community-driven` `configuration` `emacs` `spacemacs` `vim`

## Description

Spacemacs is a community-driven configuration for Emacs that integrates modal text editing and a modular system for managing editor features. It implements distinct states for navigation and insertion to separate text manipulation from text entry, combining the efficiency of modal navigation with the extensibility of the Emacs environment.

The project distinguishes itself through a layer-based feature composition system, which groups related third-party packages and configurations into modular units. This system includes dependency-based resolution to manage conflicting extensions and a mnemonic prefix keymapping strategy that organizes commands into a hierarchical tree for easier discovery and recall.

The editor provides a comprehensive development environment covering code execution, debugging, and real-time evaluation. It includes capabilities for project-wide text search, symbol navigation, and source code formatting, as well as window management tools for organizing workspaces and restoring session layouts.

Configuration and package management are handled through a central dotfile and a system of modular layers.

## Tags

### Development Tools & Productivity

- [Customizable Development Environments](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/integrated-development-suites/customizable-development-environments.md) — Provides a modular system of layers to tailor interfaces, keybindings, and extensions to specific workflows.
- [Modal Editing Systems](https://awesome-repositories.com/f/development-tools-productivity/modal-editing-systems.md) — Integrates a modal editing system that separates navigation and manipulation states from text insertion.
- [Code Navigators](https://awesome-repositories.com/f/development-tools-productivity/code-navigators.md) — Facilitates jumping between symbols, project files, and documentation using mnemonic shortcuts and project-wide search.
- [File System Operations](https://awesome-repositories.com/f/development-tools-productivity/file-system-operations.md) — Handles essential file operations including searching for files, accessing recents, and saving to disk. ([source](http://spacemacs.org/doc/VIMUSERS))
- [Command Key Bindings](https://awesome-repositories.com/f/development-tools-productivity/input-binding-libraries/command-key-bindings.md) — Implements a system for mapping keyboard shortcuts and leader keys to specific editor functions. ([source](http://spacemacs.org/doc/FAQ.html))
- [Feature Conflict Resolution](https://awesome-repositories.com/f/development-tools-productivity/layered-dependency-constraints/dependency-layering/feature-conflict-resolution.md) — Manages conflicting extensions by replacing incompatible features when two layers provide overlapping functionality.
- [Modal Editing Interfaces](https://awesome-repositories.com/f/development-tools-productivity/modal-editing-interfaces.md) — Combines the efficiency of modal editing with the extensibility of the Emacs environment in a single interface. ([source](https://cdn.jsdelivr.net/gh/syl20bnr/spacemacs@develop/README.md))
- [Polyglot Development Workflows](https://awesome-repositories.com/f/development-tools-productivity/polyglot-development-workflows.md) — Provides standardized formatting, import management, and test execution across diverse programming languages.
- [Symbol Navigation](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation.md) — Enables jumping between related files, imports, and symbol usages to accelerate codebase exploration. ([source](http://spacemacs.org/doc/CONVENTIONS))
- [Buffer Managers](https://awesome-repositories.com/f/development-tools-productivity/window-managers/buffer-managers.md) — Provides utilities for organizing, switching, and killing text buffers within the editor. ([source](http://spacemacs.org/doc/DOCUMENTATION))
- [Project Root Discovery](https://awesome-repositories.com/f/development-tools-productivity/working-directory-configuration/workspace-and-project-contexts/project-root-discovery.md) — Identifies project boundaries using version control markers to scope search and file operations. ([source](http://spacemacs.org/doc/DOCUMENTATION))
- [Project Workspaces](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces.md) — Creates isolated window configurations and workspaces to organize different project contexts. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Command Execution Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-execution-interfaces.md) — Provides an interactive interface for triggering both internal editor commands and external system shell commands. ([source](http://spacemacs.org/doc/VIMUSERS.html))
- [Real-Time Code Evaluation](https://awesome-repositories.com/f/development-tools-productivity/configuration-updates/real-time-runtime-updates/real-time-code-evaluation.md) — Allows running expressions, functions, or entire buffers in real-time to verify logic without restarting the application. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Contextual Help Systems](https://awesome-repositories.com/f/development-tools-productivity/contextual-help-systems.md) — Provides an interactive documentation interface for looking up functions, variables, and key bindings. ([source](http://spacemacs.org/doc/VIMUSERS))
- [Test Framework Orchestration](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/test-framework-orchestration.md) — Runs diverse test frameworks and generates new test cases using language-specific tools. ([source](http://spacemacs.org/doc/CONVENTIONS))
- [Mode Toggles](https://awesome-repositories.com/f/development-tools-productivity/editing-modes/mode-toggles.md) — Allows users to dynamically toggle between different editing modes to suit their preferences. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Import Organizers](https://awesome-repositories.com/f/development-tools-productivity/import-organizers.md) — Automatically adds missing import statements for symbols and organizes existing import blocks for consistency. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Key Binding Discovery](https://awesome-repositories.com/f/development-tools-productivity/input-binding-libraries/command-key-bindings/key-binding-discovery.md) — Provides a way to discover available commands after a prefix key is pressed or via search. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Breakpoint Debugging](https://awesome-repositories.com/f/development-tools-productivity/interactive-debug-consoles/breakpoint-debugging.md) — Controls program execution and manages breakpoints through interactive stepping and value inspection. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Keyboard Macro Engines](https://awesome-repositories.com/f/development-tools-productivity/keyboard-macro-engines.md) — Provides a system for recording and replaying sequences of keystrokes via specialized registers or macro rings. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Keyboard Shortcut Mappings](https://awesome-repositories.com/f/development-tools-productivity/keyboard-shortcut-mappings.md) — Defines a set of stable keyboard shortcut mappings that operate independently of specific packages. ([source](http://spacemacs.org/doc/LAYERS.html))
- [Motion-Enhanced Character Jumping](https://awesome-repositories.com/f/development-tools-productivity/label-based-text-jumping/motion-enhanced-character-jumping.md) — Enables rapid horizontal and vertical navigation through label-based and motion-enhanced character jumping. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Multi-Cursor Editing](https://awesome-repositories.com/f/development-tools-productivity/multi-cursor-editing.md) — Supports simultaneous text manipulation across multiple occurrences of a symbol using a multi-cursor state. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Manages external library dependencies from Git, remote, or local paths to ensure correct loading. ([source](http://spacemacs.org/doc/LAYERS.html))
- [Project-Based File Managers](https://awesome-repositories.com/f/development-tools-productivity/project-based-file-managers.md) — Provides project-level operations including finding files and switching projects by coupling directory browsing with buffer management. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Project Search Tools](https://awesome-repositories.com/f/development-tools-productivity/project-search-tools.md) — Provides high-performance text search and replacement operations across entire project directories. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Read-Eval-Print Loops](https://awesome-repositories.com/f/development-tools-productivity/read-eval-print-loops.md) — Communicates with external read-eval-print loops to send code regions or buffers for interactive development. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Editor Startup Optimization](https://awesome-repositories.com/f/development-tools-productivity/shell-startup-optimizers/editor-startup-optimization.md) — Reduces boot times by consolidating autoload files and utilizing load hints to minimize filesystem lookups. ([source](http://spacemacs.org/doc/FAQ.html))
- [Technical Documentation Browsers](https://awesome-repositories.com/f/development-tools-productivity/technical-documentation-browsers.md) — Enables interactive access to technical references and help files for the symbol under the cursor. ([source](http://spacemacs.org/doc/VIMUSERS.html))
- [Client-Server Architectures](https://awesome-repositories.com/f/development-tools-productivity/terminal-text-editors/client-server-architectures.md) — Provides a persistent background server allowing the editor to be controlled remotely or launched quickly from a terminal.
- [Text Transformation Utilities](https://awesome-repositories.com/f/development-tools-productivity/text-transformation-utilities.md) — Provides utilities to align text regions and transform symbol naming styles. ([source](http://spacemacs.org/doc/DOCUMENTATION))

### Part of an Awesome List

- [Dotfiles and Configuration](https://awesome-repositories.com/f/awesome-lists/devtools/dotfiles-and-configuration.md) — Customizes editor behavior and package lists using a central configuration dotfile or directory. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Integrated Development Environments](https://awesome-repositories.com/f/awesome-lists/devtools/integrated-development-environments.md) — Offers a unified interface to manage code compilation, debugging, and REPL communication for software projects.
- [Build and Compilation](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-compilation.md) — Triggers compilation, cleaning, and build processes for active files or the entire project. ([source](http://spacemacs.org/doc/CONVENTIONS))
- [Source Code Formatters](https://awesome-repositories.com/f/awesome-lists/devtools/code-analysis-and-formatting/source-code-formatters.md) — Standardizes the layout of the current buffer or symbol based on defined style guides. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Semantic Text Selection](https://awesome-repositories.com/f/awesome-lists/devtools/semantic-text-selection.md) — Expands selections based on semantic units and provides tools to align or sort text regions. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [UI Theme Customization](https://awesome-repositories.com/f/awesome-lists/devtools/theming-and-customization/ui-theme-customization.md) — Offers customization of visual elements including line numbers, transparency, and color schemes. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))

### DevOps & Infrastructure

- [Feature Layer Organization](https://awesome-repositories.com/f/devops-infrastructure/container-image-layering/feature-layer-organization.md) — Groups related packages into modular layers to simplify the organization of language-specific features. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))
- [Package Manager Configurations](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/configuration-declaration-formats/package-manager-configurations.md) — Uses central configuration files to define and manage the fetching and initialization of external extensions and dependencies.

### Operating Systems & Systems Programming

- [Vi Modal Editing](https://awesome-repositories.com/f/operating-systems-systems-programming/keyboard-input-modes/vi-modal-editing.md) — Integrates Vi-style modal navigation, scrolling, and state management into standard editor buffers. ([source](http://spacemacs.org/doc/CONVENTIONS.html))

### Software Engineering & Architecture

- [Capability Bundles](https://awesome-repositories.com/f/software-engineering-architecture/feature-extensions/capability-bundles.md) — Bundles integrated packages into single units called layers to add complex functionality to the editor. ([source](http://spacemacs.org/doc/VIMUSERS))
- [Bundle-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/modular-extension-architectures/bundle-based-extensibility.md) — Bundles packages and configurations into reusable, toggleable folder structures to extend editor functionality. ([source](http://spacemacs.org/doc/LAYERS.html))
- [Layered Feature Composition](https://awesome-repositories.com/f/software-engineering-architecture/modular-feature-architectures/layered-feature-composition.md) — Groups related third-party packages and configurations into modular layers to simplify the installation of complex feature sets.
- [Project Root Resolution](https://awesome-repositories.com/f/software-engineering-architecture/file-based-project-storage/project-root-resolution.md) — Automatically identifies project boundaries using version control markers to scope search and file operations.
- [Editor Startup Optimizers](https://awesome-repositories.com/f/software-engineering-architecture/function-execution-engines/just-in-time-compilers/editor-startup-optimizers.md) — Implements techniques to minimize text editor initialization time by consolidating autoload files and using load hints.
- [Library Conflict Resolution](https://awesome-repositories.com/f/software-engineering-architecture/library-conflict-resolution.md) — Resolves conflicts between incompatible extensions by replacing one with another when they provide overlapping functionality. ([source](http://spacemacs.org/doc/LAYERS.html))

### User Interface & Experience

- [Mnemonic Keybinding Systems](https://awesome-repositories.com/f/user-interface-experience/mnemonic-keybinding-systems.md) — Organizes editor commands into a hierarchical tree using leader keys and mnemonic prefixes for easier discovery.
- [Editor Window Splitting](https://awesome-repositories.com/f/user-interface-experience/window-managers/editor-window-splitting.md) — Creates vertical and horizontal splits to enable simultaneous editing of multiple files. ([source](http://spacemacs.org/doc/VIMUSERS.html))
- [Session Restoration](https://awesome-repositories.com/f/user-interface-experience/editor-components/session-restoration.md) — Automatically resumes previously open windows and buffers upon restarting the editor. ([source](http://spacemacs.org/doc/VIMUSERS.html))
- [Theme Customization](https://awesome-repositories.com/f/user-interface-experience/visual-theme-configurations/visual-themes/theme-customization.md) — Provides capabilities to set and cycle through diverse color schemes and visual themes. ([source](http://spacemacs.org/doc/VIMUSERS.html))

### Content Management & Publishing

- [Document Comparison and Merging](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/document-comparison-and-merging.md) — Runs diff and merge sessions between buffers or directories to synchronize content. ([source](http://spacemacs.org/doc/DOCUMENTATION.html))

### Testing & Quality Assurance

- [Error Navigation Interfaces](https://awesome-repositories.com/f/testing-quality-assurance/error-navigation-interfaces.md) — Displays a comprehensive list of project errors with shortcuts for immediate navigation to the source. ([source](http://spacemacs.org/doc/CONVENTIONS.html))
- [Real-time Syntax Checking](https://awesome-repositories.com/f/testing-quality-assurance/real-time-syntax-checking.md) — Integrates external linting tools to provide immediate syntax feedback and warning navigation. ([source](http://spacemacs.org/doc/DOCUMENTATION))

### Web Development

- [Server Process Management](https://awesome-repositories.com/f/web-development/server-process-management.md) — Starts a persistent background server to allow fast session restoration and remote control from a terminal. ([source](http://spacemacs.org/doc/DOCUMENTATION))
