explaingit

syl20bnr/spacemacs

Analysis updated 2026-06-21

24,540Emacs LispAudience · developerComplexity · 3/5Setup · moderate

TLDR

A ready-to-use, community-curated setup for the Emacs text editor that works out of the box with Vim-style keybindings, making a powerful editor accessible without weeks of manual configuration.

Mindmap

mindmap
  root((Spacemacs))
    What it does
      Pre-configured Emacs
      Vim modal editing
      Mnemonic shortcuts
      Community layers
    Tech Stack
      Emacs Lisp
      Emacs
    Use Cases
      Vim users in Emacs
      Pair programming
      Productive editor setup
    Audience
      Developers
      Vim and Emacs users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Get a fully configured Emacs environment with Vim keybindings without spending days writing custom config.

USE CASE 2

Use Vim-style modal editing inside Emacs for faster text navigation and editing.

USE CASE 3

Pair-program with Vim and Emacs users in the same editor without workflow conflicts.

USE CASE 4

Discover editor shortcuts quickly using the mnemonic space-bar shortcut system.

What is it built with?

Emacs LispEmacs

How does it compare?

syl20bnr/spacemacsdoomemacs/doomemacsmagit/magit
Stars24,54022,0787,093
LanguageEmacs LispEmacs LispEmacs Lisp
Setup difficultymoderatemoderatemoderate
Complexity3/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Emacs installed, first-launch package download can take several minutes on a slow connection.

In plain English

Spacemacs is a pre-configured distribution of Emacs, a highly extensible text editor that has been around for decades. If you have heard the famous debate between Emacs and Vim (two powerful but very different editors with steep learning curves), Spacemacs tries to settle that debate by combining the best of both. Emacs is extraordinarily customizable but historically required significant effort to configure from scratch. Spacemacs solves that by providing a curated, ready-to-use setup on top of Emacs. It is organized around the space bar as the primary shortcut key, with mnemonic key bindings grouped by function, for example, all buffer-related commands start with space-b, project commands start with space-p. This makes it easier to discover and remember shortcuts. Spacemacs supports both Emacs-style editing and Vim-style modal editing, where you switch between modes for navigating and typing. You can use either style or mix them together, which makes it useful for pair programming between Emacs and Vim users. You would use Spacemacs if you want a polished, community-curated Emacs environment without spending days configuring it yourself, and especially if you want Vim-style keybindings inside Emacs. The tech stack is Emacs Lisp, the language Emacs is configured and extended with.

Copy-paste prompts

Prompt 1
How do I install Spacemacs and set it up for Python development with code completion and linting?
Prompt 2
Show me the Spacemacs key bindings for navigating between open files and running project-wide search.
Prompt 3
Help me add a custom layer to Spacemacs for a language or tool not included by default.
Prompt 4
How do I switch between Emacs editing style and Vim editing style in Spacemacs?

Frequently asked questions

What is spacemacs?

A ready-to-use, community-curated setup for the Emacs text editor that works out of the box with Vim-style keybindings, making a powerful editor accessible without weeks of manual configuration.

What language is spacemacs written in?

Mainly Emacs Lisp. The stack also includes Emacs Lisp, Emacs.

How hard is spacemacs to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is spacemacs for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.