Fact-checked by Grok 2 weeks ago

Spacemacs

Spacemacs is a community-driven distribution and configuration framework for the GNU , emphasizing ergonomics, mnemonic key bindings, and consistency by integrating Vim-like modal editing through the mode. It targets both Emacs and Vim users, allowing hybrid editing styles where the spacebar serves as the primary leader key for discoverable commands, such as SPC b for buffers or SPC p for projects. Developed by Sylvain Benner and first released in beta form around 2014, Spacemacs evolved from a personal configuration into a collaborative project hosted on , with its initial major version (0.105) appearing in early 2016, introducing features like a new website and layout systems. The project requires 28.2 or later and uses a modular "layers" system to enable easy extension with pre-configured packages for programming languages, tools, and themes, fostering rapid community contributions and bug fixes. Key innovations include real-time display of available key bindings to aid discoverability, a query system for layers and packages, and consistent conventions across functionalities, making it suitable for power users seeking an efficient, customizable editing environment without starting from a blank setup. As of 2025, Spacemacs remains actively maintained, supporting recent Emacs versions like 30.1 and continuing to integrate modern packages while prioritizing user ergonomics over Vim or Emacs purism.

Introduction

Overview

Spacemacs is a free, open-source configuration framework and distribution for , designed to provide a pre-configured, extensible editing environment. It is licensed under the GNU General Public License version 3.0 or later, allowing users to modify and redistribute it freely while ensuring compatibility with Emacs's ecosystem. The distribution supports a range of platforms, including systems, , macOS, and Windows (with native support or via subsystems like WSL2), and operates seamlessly in both graphical and terminal interfaces. This cross-platform compatibility makes Spacemacs accessible to developers on diverse operating environments without requiring extensive setup adjustments. At its core, Spacemacs aims to blend the unparalleled extensibility of with Vim-inspired ergonomics, enabling efficient editing that appeals to users familiar with either editor paradigm. Implemented primarily in Emacs Lisp, it integrates mode as a foundational component to emulate Vim's keybindings and workflow, facilitating a experience that leverages 's Lisp-based alongside Vim's muscle-memory efficiency. As of November 2025, the official Spacemacs GitHub repository has accumulated over 24,600 stars, reflecting its popularity and influence within the Emacs community. It remains actively maintained through community contributions, with ongoing support via channels like Gitter and Discord.

Design Philosophy

Spacemacs embodies a design philosophy centered on ergonomics, mnemonics, and consistency to enhance the Emacs experience for power users. This approach prioritizes user comfort by placing key bindings on the home row, such as the spacebar (SPC) as the primary leader key or the alternative Alt-m, which minimizes repetitive strain injury (RSI) risks associated with frequent modifier key usage. By integrating modal editing through the Evil mode, Spacemacs facilitates a seamless transition for Vim users while retaining Emacs's extensibility, allowing efficient navigation without constant chorded inputs. Discoverability is a core tenet, achieved through tools like the which-key package, which displays available key bindings in real-time upon pressing the leader key (e.g., ), guiding users interactively without memorization. Additionally, a straightforward query system enables users to explore and manage layers and packages, promoting an intuitive process. Consistency across functionalities is enforced via mnemonic prefixes—such as b for buffers, p for projects, and h for help—ensuring similar actions share predictable bindings throughout the interface. As a community-driven project, Spacemacs emphasizes curated package selections tuned by experienced contributors, focusing on power-user needs to avoid unnecessary bloat while delivering rapid bug fixes through active collaboration. This contrasts with vanilla 's minimalistic, user-configured setup by providing a pre-configured, productivity-oriented distribution that bridges Emacs and Vim paradigms without requiring extensive initial customization.

History

Origins and Initial Development

Spacemacs was created by Sylvain Benner, under the username syl20bnr, in 2014 as a personal configuration designed to facilitate the transition for users accustomed to Vim. Benner, a developer interested in user-friendly tools, drew inspiration from Vim's modal editing paradigm and 's powerful extensibility to address common pain points in adopting . This effort stemmed from his own experiences, aiming to blend the efficiency of Vim-like keybindings with 's customizable ecosystem. The early goals of Spacemacs centered on mitigating Emacs's notoriously steep learning curve, particularly for Vim users, by incorporating the Evil mode—a Vim emulation layer for —and establishing standardized configurations for smoother workflows. Benner focused on creating an intuitive setup that prioritized ergonomics and consistency, such as mnemonic leader keys and discoverable commands, to make advanced editing accessible without extensive manual reconfiguration. These motivations reflected a desire to harmonize the strengths of both editors, positioning Spacemacs as a hybrid solution rather than a replacement for either. On October 30, 2014, publicly released Spacemacs via its , marking the project's debut as an open-source initiative. The initial adopted a single-branch development approach on the "develop" branch, starting with foundational layers to support essential tasks like text editing, programming, and integration. By open-sourcing from the outset, invited contributions to evolve the configuration, laying the groundwork for its growth into a collaborative effort.

Major Releases and Evolution

Following its initial release in late 2014, Spacemacs transitioned into a fully community-driven project, with Sylvain Benner stepping back from primary development while encouraging contributions through structured guidelines on . By mid-2016, the project had already attracted over 400 contributors, fostering rapid evolution through pull requests and collaborative refinements to its layer system and key bindings. A pivotal milestone came with the 0.200 release in October 2016, which incorporated more than 1,700 commits since the prior major version in January 2016 and introduced significant refinements, including a rewritten layer system for 20-25% faster startup times, lazy layer installation, and support for Ivy as an alternative to . This release also featured breaking changes such as dropping Emacs 24.3 support, renaming the extensions layer to local, and shifting micro-states to hydra-based transient-states, prioritizing innovation over . Subsequent updates have followed a rolling model via the develop , with periodic releases like 0.200.13 in January 2025 addressing package compatibility and minor bugs without major architectural shifts. Spacemacs' branch strategy emphasizes the develop branch as the default for bleeding-edge package integrations and ongoing enhancements, while the master branch was deprecated in favor of develop to streamline maintenance and reduce divergence. Users update via git pull on the develop branch or in-Emacs commands like SPC f e U for package refreshes, enabling seamless access to the latest refinements without formal version bumps. Key milestones include the integration of which-key in early 2016 to provide real-time key binding popups, enhancing discoverability for its mnemonic leader-key system. By 2020, Spacemacs had expanded to over 100 configuration layers, modular units that bundle packages and settings for languages, tools, and workflows, reflecting community-driven growth in extensibility. Adaptations for newer versions followed, with official support for Emacs 28.2 and above established by 2023, including compatibility tweaks for Emacs 29's tree-sitter integration and refined package handling. In 2023-2024, further adjustments ensured smooth operation with 30. Recent updates from 2024 to 2025 have focused on steady maintenance, including enhanced compatibility with native compilation in 30.1—now enabled by default—through minimal reliance on native modules and targeted fixes for themes and repositories. Minor layer optimizations, such as improved displays and variable handling, have been incorporated via community pull requests, maintaining stability without overhauls. This ongoing evolution underscores Spacemacs' reliance on its active community for incremental improvements.

Core Features

Key Bindings and Navigation

Spacemacs employs a structured key binding system centered on leader keys to facilitate efficient and command execution. The primary leader key is the spacebar (), which serves as a gateway to most global commands, chosen for its ergonomic accessibility on standard keyboards. In contrast, the major-mode leader key, bound to , (), provides access to mode-specific bindings, allowing users to perform actions tailored to the current buffer's context without conflicting with global operations. This dual-leader approach ensures a clean separation between universal and specialized functionalities, promoting consistency across different editing environments. Key bindings in Spacemacs are organized using mnemonic prefixes following the leader keys, grouping related commands logically to aid and . For instance, 'b' handles buffers, 'f' manages files, 's' covers search operations, 'p' deals with projects, 'h' provides help resources, and 't' addresses text manipulation. This prefix-based convention extends to major modes via , , where similar mnemonics apply, such as 'g' for or 'e' for . Representative navigation examples include SPC f f to open files via a fuzzy finder, SPC b b to switch between open buffers, and SPC p for project-related tools like switching or searching within a project root. These bindings leverage ' built-in capabilities while adhering to Spacemacs' ergonomic principles, reducing keystrokes for common tasks. Transient states represent a core innovation in Spacemacs' , activating temporary interfaces for focused interactions with visual feedback to guide users. Accessed via prefixes like w for window management—enabling splits, resizes, or deletions—or through pasting operations (e.g., cycling the kill ring with C-j/C-k after invoking the paste transient state)—these states overlay the interface with highlighted keys and descriptions. Often triggered by a dot (.) after the prefix, such as w ., transient states minimize switches and provide contextual hints, enhancing productivity during repetitive actions like window rearrangement. Users exit these states typically with 'q', maintaining a fluid workflow. Integration with the which-key package further streamlines navigation by displaying a pop-up of available bindings after partial input, such as following SPC with a brief delay to reveal mnemonic options. This dynamic aid reduces the of memorizing extensive bindings, with users able to search bindings directly via SPC ? for targeted discovery. Overall, Spacemacs' binding system integrates seamlessly with its optional modal editing paradigms, where leader keys operate primarily in normal states to avoid interference during insertion. By prioritizing mnemonic consistency and interactive guidance, it fosters rapid adaptation and efficient use for both novice and expert users.

Layers and Package Management

Spacemacs organizes its functionality through configuration layers, which serve as self-contained modules that bundle related Emacs packages and their configurations to enable specific features without manual setup. These layers promote modularity by encapsulating dependencies and initialization code, allowing users to enable or disable entire feature sets declaratively. For instance, the Python layer integrates tools such as the (LSP) for code intelligence and Flycheck for syntax checking, providing a complete development environment for upon activation. Users declare layers in the ~/.spacemacs configuration file using the dotspacemacs-configuration-layers variable, where they list desired layers as symbols, such as (org git python). Each layer follows a standardized structure: the packages.el file defines the list of Emacs packages to install, including their sources and initialization functions (via pre-init, init, and post-init hooks), while the config.el file handles variable settings and global configurations. Additional files like keybindings.el for key maps and funcs.el for custom functions complete the layer. Private layers, intended for user-specific extensions, reside in the ~/.emacs.d/private directory, enabling customization without modifying core Spacemacs files. Package management in Spacemacs leverages ' built-in package.el system, sourcing packages primarily from MELPA and ELPA repositories, with support for local or recipe-based installations specified in packages.el. Layers enable to optimize , deferring package activation until triggered by relevant events, such as opening a of a specific type; this is achieved through use-package directives with :defer t or autoload mechanisms. Upon enabling a layer, Spacemacs automatically installs its declared packages if they are not present, ensuring seamless setup. Core layers like [org](/page/Org) for and [git](/page/Git) for are enabled by default in the full distribution, while optional layers such as [email](/page/Email) for mail clients or themes for visual customizations number over 150 in total, covering areas from programming languages to productivity tools. Discovery of available layers occurs via Spacemacs' integrated query system, accessible through the key binding SPC h SPC, which displays layer details and status. Updates follow a default rolling scheme, where Spacemacs checks for and pulls the latest package versions from repositories during startup or manually via commands like SPC f e R for reloads. To resolve conflicts, such as overlapping package initializations, users can disable specific layers or use mechanisms like package exclusion (:excluded t) and ownership declarations to prioritize one layer's over another's.

Editing and Modes

Input Modes

Spacemacs provides three primary editing styles to accommodate users from both and Vim backgrounds, allowing customization of input behaviors through or non-modal paradigms. These styles are configured via the dotspacemacs-editing-style variable in the user's dotfile, with the vim style set as the default. Emacs mode employs traditional keybindings, which are non-modal and rely on chorded combinations involving modifier keys like Ctrl and . This style is designed for users who prefer the classic experience, where editing and navigation occur without explicit state changes, and the leader key for Spacemacs commands is bound to M-m. The mode-line indicator appears in blue to denote this non-modal state. Vim mode offers a full emulation of Vim's modal editing via the Evil package, incorporating states such as normal, insert, and visual. In this setup, users switch between states explicitly—for instance, entering insert mode to type text and returning to normal mode for commands—and the leader key adapts to the modal context, defaulting to SPC (spacebar). State indicators in the mode-line vary by color and label, such as orange for normal mode or green for insert mode, providing visual feedback on the current input paradigm. This mode preserves Vim's efficiency for users accustomed to its muscle memory. Hybrid mode blends Vim's modal motions with Emacs commands to create a seamless experience. It functions similarly to Vim mode but replaces the insert state with a state, where Emacs-style keybindings are active without requiring a state switch for text entry; for example, Vim navigation keys work in , while Emacs commands handle insertion directly. The leader key remains SPC, and the mode-line shows a blue indicator, often with state labels like [NORMAL]. This approach allows mixed users to leverage Vim's ergonomic navigation benefits while accessing Emacs's command set fluidly. Switching between these styles occurs by editing the dotspacemacs-editing-style variable in the ~/.spacemacs to 'emacs, 'vim, or 'hybrid, followed by a restart of . Temporary toggles are available via key sequences like SPC t E e for Emacs mode or SPC t E h for mode. The mode's design reduces for users transitioning between ecosystems by minimizing overhead, while the full Vim mode ensures preservation of established editing habits.

User Interface Enhancements

Spacemacs provides built-in color themes, including the default spacemacs-dark and its light variant spacemacs-light, which offer a consistent aesthetic tailored to the distribution's design. Users can customize themes by editing the dotspacemacs-themes variable in their configuration file, enabling multiple options such as leuven or zenburn for varied visual preferences. Additionally, the geolocation layer supports automatic theme switching between light and dark variants based on system appearance or time of day, using the theme-changer package to align with environmental conditions like daylight. Layouts and workspaces in Spacemacs enhance window and buffer organization, functioning as isolated sessions for projects via the eyebrowse package. Users create layouts with SPC l <number> and switch between them seamlessly, while workspaces serve as sub-layouts within a parent layout, accessible via SPC l w <number>. Integration with Helm or Ivy allows searching and switching buffers restricted to the current layout, such as through helm-mini or ivy-switch-buffer, promoting efficient navigation without global interference. Window management is further supported by the window transient state (SPC w .), enabling splits, resizes, and maximization (m) directly within layouts. The minimal user interface emphasizes a distraction-free environment by hiding scrollbars and menus by default, focusing attention on editable text. A custom Powerline mode-line, themed as spacemacs with options for separators like slant and integration with all-the-icons, displays essential status information such as Flycheck results and minor modes without clutter. For file browsing, Neotree provides a sidebar with Evil-compatible key bindings (hjkl for movement) and themes like nerd for a NERDTree-like appearance, toggled via SPC f t. Visual aids streamline interaction through , the default completion framework, which handles buffer and project management with fuzzy searching and auto-resizing minibuffers positioned at the bottom. Ivy serves as an alternative, offering similar narrowing for selections like SPC b b for buffers. Treemacs enhances project visualization with a of files and directories, supporting status indicators and follow-mode for syncing with the current file, toggled via SPC o t. Distraction-free editing is facilitated by zoom modes (SPC w m for window maximization) and focus modes like (SPC t g), which dynamically resize windows to emphasize the active buffer. Performance optimizations include of packages and configurations, ensuring only necessary components initialize on demand to achieve fast startup times. The layer system was rewritten in version 0.200 (2016), reducing initial load by 20-25% through indexed package information. This approach minimizes overhead, with typical startup completing in under 10 seconds on standard hardware when properly configured.

Configuration and Usage

Installation Process

Spacemacs installation begins with ensuring the necessary prerequisites are met. Users require version 28.2 or higher, which can be obtained from the official GNU website. Additionally, must be installed for cloning the repository, and GNU Tar is needed for package handling. While optional, installing the Source Code Pro font enhances readability, and Ripgrep can improve search performance. The core installation steps are straightforward. First, back up any existing Emacs configuration files, such as .emacs.d, .emacs.el, or .emacs, to avoid conflicts. Next, clone the Spacemacs repository to the directory using the command:
git clone https://github.com/syl20bnr/spacemacs $HOME/.emacs.d
Launch afterward; Spacemacs will automatically bootstrap itself, install required packages, and prompt the user to create the ~/.spacemacs file on the first run. Select the hybrid editing style as the default during this setup, which combines Vim-like modal editing with conventions. Restart once package installation completes to fully activate the environment. Layers, which organize packages, can then be enabled or added in the ~/.spacemacs file. Platform-specific considerations apply for optimal setup. On , install via the distribution's or build from . For macOS, use Homebrew with brew install --cask emacs or brew install emacs-plus for a more feature-rich version. Windows users should prefer the (WSL2) or install via with scoop install emacs. Common troubleshooting includes resolving GnuTLS errors by updating the operating system or , or trusting proxy certificates if behind a ; on Windows, server errors may require adjusting ownership of the .emacs.d/server directory. After installation, keeping Spacemacs updated is essential for stability and new features. Perform updates by running git pull --rebase in the ~/.emacs.d directory followed by a restart of , or use the in-Emacs command SPC f e U to update packages directly.

Customization Options

Spacemacs customization primarily occurs through editing the user's dotfile, located at ~/.spacemacs by default, which serves as the central generated on first startup. This file is structured around several key functions that define the initialization process: dotspacemacs/init for setting initial variables prefixed with dotspacemacs-, dotspacemacs/user-init for configuring variables before package loading, dotspacemacs/layers for declaring configuration layers and additional packages, and dotspacemacs/user-config for final customizations after layers are loaded. An alternative structure involves renaming the dotfile to init.el and placing it in ~/.spacemacs.d/init.el for more -like organization. Numerous customizable variables allow users to tailor Spacemacs behavior without modifying core files. For instance, dotspacemacs-auto-save-file-location can be set to 'cache (default), 'original, or nil to control where auto-save files are stored, with 'cache directing them to a temporary directory to avoid cluttering source files. The dotspacemacs-themes list enables theme selection, such as '(spacemacs-light leuven zenburn), while dotspacemacs-default-font specifies the editor's font, e.g., '(“Source Code Pro” :size 10.0). Other options include dotspacemacs-editing-style for choosing between 'vim, 'hybrid, or 'emacs modes, and dotspacemacs-configuration-layers for enabling specific layers like org or python. Users can also exclude unwanted packages via dotspacemacs-excluded-packages, such as '(rainbow-delimiters). For personal extensions, Spacemacs supports private layers stored in ~/.emacs.d/private, which are excluded from the main repository's tracking to keep user-specific changes separate. These layers follow a standard structure: layers.el for declaring dependencies, packages.el for listing and configuring packages (including local ones via :location local or Quelpa recipes stored in <layer>/local/<package>/), funcs.el for custom s, config.el for variables, and keybindings.el for defining keymaps. An example private layer might include a custom keymap in keybindings.el to bind SPC m c k to a personal code-killing , of upstream packages. Private layers can be managed via external repositories or symlinks configured through dotspacemacs-configuration-layer-path. Hooks and functions provide fine-grained control, with dotspacemacs/user-config serving as the primary post-initialization for tasks like loading or package overrides. Within layers, including private ones, use-package integration allows declarative package setup; for example, in packages.el, a function like defun mylayer/init-my-package () uses use-package with :init for pre-loading (e.g., event-based activation) and :config for post-loading configurations. This enables overrides, such as customizing a package's after core loading without altering upstream layers. Best practices for customization emphasize safety and maintainability: version control the ~/.spacemacs file in a personal repository, test changes using SPC SPC dotspacemacs/test-dotfile in the scratch buffer before syncing with SPC f e R, and prefer setq over toggle functions in dotspacemacs/user-config to minimize side effects. For private layers, assign ownership of each package to one layer, localize configurations to specific packages, defer loading with lazy mechanisms, and avoid require statements to prevent premature evaluation.

Community and Ecosystem

Development and Contributions

Spacemacs is hosted on GitHub under the repository syl20bnr/spacemacs, where all pull requests must target the develop branch for integration. The project operates as a community-driven effort, with contributions welcomed in the form of new configuration layers and packages, bug fixes, documentation enhancements, issue reporting, and pull request reviews. Detailed guidelines for submissions are outlined in the CONTRIBUTING.org file, which stresses adherence to project conventions, rebasing on upstream develop, and squashing commits for complex changes to maintain a clean history. The community emphasizes helpfulness and positive interactions, guided by principles of , , and good intentions, with ensuring focus on project-related discussions. Contributors can engage via the official chat room for questions and collaboration, while tools like Magit (integrated with the package for handling pull requests) and support the development workflow. Internal Spacemacs commands aid contributors, such as SPC h d c to describe the current character under point or SPC h SPC to query available help, layers, and packages for quick reference. Automated testing is integral to contributions, with layer-specific tests located in the tests/ and executable via the project's Makefile to verify functionality before submission. The project is led by primary maintainer Sylvain Benner (syl20bnr), supported by a core team of collaborators including TheBB, d12frosted, bmag, and JAremko, who prioritize rigorous review to prevent introducing new bugs. Ongoing maintenance focuses on stability, with the serving as the primary venue for rolling updates while addressing compatibility challenges posed by evolving Emacs packages. This approach has led to the of the , redirecting all activity to develop to streamline fixes and enhancements without frequent tagged releases.

Reception and Comparisons

Spacemacs has gained significant adoption among developers, particularly for its seamless integration with via the Magit package, which provides an intuitive interface for repository management directly within the editor. As of November 2025, the project's repository boasts over 24,000 stars and over 5,500 forks, reflecting its enduring popularity in the open-source community. Tutorials and guides for Spacemacs have proliferated since 2016, with resources available on platforms like and technical blogs to assist newcomers in setup and usage. Users frequently praise Spacemacs for its accessibility to Vim migrants, offering Evil mode—a close emulation of Vim keybindings—while incorporating Emacs's extensibility, allowing a hybrid workflow without fully abandoning familiar modal editing. The layer system simplifies package management and configuration, enabling users to enable feature sets like programming languages or tools with minimal effort, which enhances discoverability and reduces setup complexity. In 2025, Spacemacs remains active with robust integrations for modern tools such as (LSP) via the lsp layer and Tree-sitter for advanced syntax parsing and highlighting. Criticisms of Spacemacs often center on its startup time, which can be slower due to the initial loading of numerous packages, though this is mitigated through mechanisms and optimizations like package-quickstart. Its opinionated defaults and extensive feature set can overwhelm Emacs purists who prefer a minimalist environment, and users occasionally encounter package conflicts arising from the layered dependencies. Compared to Emacs, Spacemacs is more batteries-included, bundling a comprehensive set of preconfigured packages and ergonomic enhancements out of the box, contrasting with 's bare-bones approach that requires manual setup. Versus Doom Emacs, Spacemacs emphasizes layer-based organization for grouping related functionality, while Doom adopts a more modular structure with around 150 optional modules, prioritizing faster startup times and runtime performance through aggressive optimizations and closer alignment to Emacs. In relation to , an older Emacs starter kit, Spacemacs is more opinionated and feature-rich, installing a broader array of packages by default, whereas remains closer to standard Emacs with fewer opt-in modules and a focus on vetted, stable additions, though it receives less frequent updates. Spacemacs has influenced the broader Emacs ecosystem, notably by popularizing packages like which-key for real-time keybinding display, which has since been integrated into Emacs core starting with version 30. It continues to be relevant in 2025 alongside Emacs 30 updates, contributing to the evolution of community-driven distributions that blend Vim and Emacs paradigms.

References

  1. [1]
    Spacemacs: Emacs advanced Kit focused on Evil
    A community-driven Emacs distribution. The best editor is neither Emacs nor Vim, it's Emacs and Vim! Download Install Quick Start
  2. [2]
    GitHub - syl20bnr/spacemacs: A community-driven Emacs distribution
    Spacemacs requires Emacs 28.2 or above. The development version of Emacs is not officially supported, but it should nevertheless be expected to work. git is ...
  3. [3]
    Classic Emacs editor gets a new-school makeover - InfoWorld
    Oct 3, 2016 · According to project lead Sylvain Benner, Spacemacs's feature set and design principles were originally developed for users of the simpler ...
  4. [4]
    Spacemacs 0.105 released: new website and layouts system - Reddit
    Jan 4, 2016 · Spacemacs v0. 105 was just released this morning, the first major release since late September.
  5. [5]
    Spacemacs documentation
    To update the Emacs packages used by Spacemacs press RET (enter) or click on the link [Update Packages] in the startup page under the banner then restart Emacs.Dotfile Configuration · Concepts · Differences between Vim, Evil... · GUI Elements
  6. [6]
    Frequently Asked Questions - Spacemacs
    Oct 24, 2025 · See the documentation for more information. If you ... The official Emacs-30.1 release for Windows was built with native module support.
  7. [7]
  8. [8]
    Newsletter #01: About the 0.200 release - Spacemacs
    0.200 is a huge release with more than 1700 commits since the last major version released in January 2016. Actually it is so big that we jumped directly ...Missing: stars | Show results with:stars
  9. [9]
    spacemacs 0.200 released : r/linux - Reddit
    Oct 4, 2016 · Unless you configure Spacemacs in 'holy mode' on first boot, it has basically no similar keybindings to default emacs. Everything, except for a ...
  10. [10]
  11. [11]
    Check out which-key! : r/emacs - Reddit
    Apr 11, 2016 · which-key is effectively a product of Spacemacs, justbur developed it because guide-key was too limited for what we wanted in Spacemacs, we had ...How to find which keymap a key is bound in : r/spacemacs - RedditThe case against which-key: a polemic : r/emacs - RedditMore results from www.reddit.comMissing: date | Show results with:date
  12. [12]
    Spacemacs layers list
    This is an overview of Spacemacs configuration layers. For information about configuration layer development see Configuration layers development.
  13. [13]
    Fresh Spacemacs install with Emacs 29.1.1 breaks Emacs #16122
    Aug 15, 2023 · I have tried to do a fresh install of Emacs / Spacemacs, and many packages are not being able to be found.
  14. [14]
    Spacemacs Conventions
    Oct 24, 2025 · Spacemacs conventions include specific naming for functions and variables, reserved prefixes like SPC o and SPC m o, and using n and N for ...
  15. [15]
    Quick start
    ### Quick Start Info on Key Bindings (from https://www.spacemacs.org/doc/QUICK_START.html)
  16. [16]
    Python layer
    ### Python Layer Summary
  17. [17]
    Configuration layers development - Spacemacs
    This document is intended as a tutorial for users who are interested in writing their first configuration layer, whether for private use or for contributing ...
  18. [18]
  19. [19]
  20. [20]
  21. [21]
  22. [22]
  23. [23]
    Geolocation layer - Spacemacs
    Supports the following adjustments: Automatic switching between light (day) and dark (night) themes via theme-changer; Local weather forecast via sunshine ...
  24. [24]
    spacemacs-layouts layer
    This layer adds support for distinct layouts/workspaces to Spacemacs. Layouts ... Integration with helm and ivy to search for buffers within layouts. 2 ...
  25. [25]
    Neotree layer - Spacemacs
    This layer provides a quick and simple way to navigate in an unknown project file tree with NeoTree.Missing: Powerline | Show results with:Powerline
  26. [26]
    Helm layer - Spacemacs
    Oct 24, 2025 · The alternative to this layer is the Ivy layer which brings the same level of integration as Helm. These completion systems are the central ...Missing: workspaces | Show results with:workspaces
  27. [27]
    Ivy layer - Spacemacs
    This layer enables Ivy for completion. It will replace the default completion by Helm. These completion systems are the central control towers of Spacemacs.Missing: workspaces integration
  28. [28]
    Treemacs layer - Spacemacs
    Manually focus the treemacs view on the currently selected file. Not needed when treemacs-follow-mode is enabled. SPC f M-t, Manually focus the treemacs view ...Missing: visual aids Helm completion zoom
  29. [29]
    Spacemacs - ArchWiki
    Aug 31, 2025 · Spacemacs is an extensible and customizable text editor, built on top of Emacs and using Vim keybindings. The goal of the project is to ...
  30. [30]
    Contribution guidelines - Spacemacs
    Oct 24, 2025 · Use present tense and write in the imperative: "Fix bug", not "fixed bug" or "fixes bug". Start with a capitalized, short (72 characters or ...
  31. [31]
    Spacemacs Community
    Oct 7, 2025 · Find support and mentors by chatting on Gitter with fellow Spacemacs users or just open an issue on GitHub, you will find help to fulfil your ...
  32. [32]
  33. [33]
    Git layer - Spacemacs
    To use this configuration layer, add it to your ~/.spacemacs. You will need to add git to the existing dotspacemacs-configuration-layers list in this file.
  34. [34]
    Emacs for Vim users: Getting started with the Spacemacs text editor
    Dec 18, 2019 · Emacs for Vim users: Getting started with the Spacemacs text editor. Spacemacs offers all the power of Emacs combined with the keystroke ...
  35. [35]
    Migrating from Vim - Spacemacs
    All file commands in Spacemacs are available under the SPC f prefix. Key binding, Function. SPC f f, Opens a buffer to search for files in the current directory ...
  36. [36]
    tree-sitter layer - Spacemacs
    This layer integrates Emacs Tree-sitter and a few packages built around it. An Emacs build supporting dynamic modules is required.Missing: LSP | Show results with:LSP
  37. [37]
    GitHub - doomemacs/doomemacs: An Emacs framework for the stubborn martian hacker
    ### Summary of Doom Emacs Content (Comparisons and Design)
  38. [38]
    A sleek, modern, simple and powerful Emacs experience for everyone
    Prelude is less opinionated than distros like Spacemacs and Doom Emacs (meaning it's closer to the standard Emacs experience) · Prelude installs relatively few ...
  39. [39]
    justbur/emacs-which-key - GitHub
    Jun 25, 2024 · which-key is a minor mode for Emacs that displays the key bindings following your currently entered incomplete command (a prefix) in a popup.