HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
syl20bnr
spacemacs
Emacs Lisp2014–2023
syl20bnr / spacemacs

spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!

79Distinct people
93Mentions
2Explicit recommenders
24.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I've been using Emacs for everything since highschool and through University and my career. The best way to get used to it is to bootstrap with tutorials and then just keep…

dpbriggs used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year93 dated mentions

Observed mentions: 2014-11-17 03:40:37 UTC to 2023-09-07 09:08:04 UTC.

01020302014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 32 mentions; 4 submissions, 28 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 19 mentions; 2 submissions, 17 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC1129
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC32428
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC19217
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC817
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC505
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC404
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
philosophy | for whom? | screenshots | documentation | contribute | achievements | FAQ Quick Start If you don't have an existing Emacs setup and want to run Spacemacs as your configuration, and if you have all prerequisites installed, you can install Spacemacs with one line: shell: git clone https://github.com/syl20bnr/spacemacs "${HOME}/.emacs.d" Windows PowerShell: git clone https://github.com/syl20bnr/spacemacs "${HOME}/.emacs.d" If HOME is not set in environment or in registry: git clone https://github.com/syl20bnr/spacemacs "${env:APPDATA}/.emacs.d" If you do have an existing Emacs configuration, look at the full installation instructions for other options. Introduction Spacemacs is a new way of experiencing Emacs -- it's a sophisticated and polished set-up, focused on ergonomics, mnemonics and consistency. Just clone and launch it, then press the space bar to explore the interactive list of carefully-chosen key bindings. You can also press the home buffer's [?] button for some great first key bindings to try. Spacemacs can be used naturally by both Emacs and Vim users -- you can even mix the two editing styles. Being able to quickly switch between input styles, makes Spacemacs a great tool for pair-programming. Spacemacs is currently in beta, and any contributions are very welcome. Features Great documentation: access the Spacemacs documentation with SPC h SPC. Beautiful GUI: you'll love the distraction free UI and its functional mode-line. Excellent ergonomics: all the key bindings are accessible by pressing the SPC or Alt-m. Mnemonic key bindings: commands have mnemonic prefixes like SPC b for all the buffer commands or SPC p for the project commands. Batteries included: discover hundreds of ready-to-use packages nicely organized in configuration layers following a set of conventions . Documentation Comprehensive documentation is available for each layer by pressing SPC h SPC. You can also check the general documentation, quick start guide and the FAQ. Getting Help If you need help, ask your questions in the Gitter Chat and a member of the community will help you out. If you prefer IRC, connect to the Gitter Chat IRC server and join the #syl20bnr/spacemacs channel. Last but not least there are a lot of high class tutorials available on YouTube: Jack of Some's Spacemacs tutorial videos. GDQuest's Game Design oriented tutorials to Spacemacs. Practicalli's Clojure tutorials based on Spacemacs. Eivind Fonn's classic Spacemacs ABC. Prerequisites A package manager if the OS doesn't have one already. Spacemacs is an extension of a popular text editor called Emacs. So you'll need Emacs installed first. 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 required to download and update Spacemacs. Tar, in particular GNU Tar, is required to install and update Emacs packages used by Spacemacs. (Optional) The default font used by Spacemacs is Source Code Pro. You may customize your own font settings and choose another font. If you want to use this default font, it must be installed. Spacemacs also uses fallback fonts to ensure certain Unicode symbols it uses symbols appear correctly. The fonts used are determined by the OS: Linux: Nanum Gothic macOS: Arial Unicode MS Windows: MS Gothic and Lucida Sans Unicode If the mode-line doesn't look similar to the picture at the top of this page, make sure you have the correct fallback font installed. (Optional) Various commands in Spacemacs needs one of the following line searching program: ripgrep (rg) The silver searcher (ag) ack GNU Grep or BSD Grep Grep is very slow but it's widely available on most systems and is used as an fallback option. We strongly recommend ripgrep over other line searching programs, for its blazing fast speed. The following subsections helps you to install it. Linux Most Linux distribution ships a package manager already and if this is the case you are all set for this step. If it doesn't, you may need to build the software mentioned below from their sources. In most distributions, Emacs is installed via an emacs package from the package manager. N.B. DO not install XEmacs because it's not supported by Spacemacs. XEmacs is an old fork of Emacs with various subtle differences. N.B. Some Linux distributions support only Emacs versions older than 28.2. In this case you should build it from source instead. Very likely Git is already installed on your system. Otherwise, you should be able to install git from your system's package manager. Very likely Tar is already installed on your system. Otherwise, you should be able to install tar from your system's package manager. (Optional) If Nerd Fonts and Nanum Gothic are available from your distribution's package manager, you should install it there. Otherwise, the generic way to install it is: Download the latest pre-built TTF font from https://github.com/adobe-fonts/source-code-pro/releases/latest and https://fonts.google.com/specimen/Nanum+Gothic. Extract the archive and move the font files to ~/.fonts. Refresh font cache with: fc-cache -fv (Optional) If your distribution is listed here, follow the instructions to install ripgrep (rg). Otherwise, you can download its pre-built binary or build it from source. macOS The most popular package manager on macOS is Homebrew, to install it: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Several options exist for installing Emacs on macOS: Emacs Plus features additional functionalities over base Emacs. brew tap d12frosted/emacs-plus # install latest stable release, with Spacemacs icon and native compilation brew install emacs-plus --with-spacemacs-icon --with-native-comp You will require the latest version of Xcode Command Line tools, which can be downloaded from the Apple Developer Portal or by running the following comm
Read the full README on GitHub

What Hacker News says

93 sources
it's probably not as obvious when you are just out of jail(which is a shame, being locked up should be exactly the time when you can educate yourself, but not in real life probably) But using linux terminal as devbox doesnt mean you dont have access to modern auto-complete syntax lookups formating etc, there are vim/neovim/emacs with any kind of configurations for all of it, and it can be preconfigured by others with projects like https://github.com/AstroNvim/AstroNvim or https://github.com/syl20bnr/spacemacs So if you know anyone in the same kind of situation, you can advise them to use that.
In deVStudio – Runs VS Code on Android
I would suggest a step further: start with Spacemacs/Doom, but if you decide to stick around, try to build your own Emacs configuration based on the part of Spacemacs/Doom that you like. Thanks to the amazing use-package[1] macro (which Spacemacs/Doom also uses) most configurations are self-contained to a certain extent. Searching for use-package in GitHub[2] will yields plenty of results which can be mostly be taken as a reference for your own liking. It should be relatively easy to port part of Spacemacs/Doom to vanilla use-package, e.g. starting with this (which sets up use-package alongside with evil): (require 'package) (setq package-enable-at-startup nil) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) (unless (package-installed-p 'use-package) (package-refre
Read the rest
sh-contents) (package-install 'use-package)) (eval-when-compile (require 'use-package)) (use-package evil :ensure t :config (evil-mode t) (use-package evil-leader :after evil :ensure t :config (evil-leader/set-leader "<SPC>") (global-evil-leader-mode t)) To add Magit, one could take a look at Spacemacs's git/packages.el[2], search documentation on what each package does, and proceed on porting configuration, only the part that you actually uses, e.g.: (use-package evil-magit :ensure t :after (magit evil)) (use-package magit :ensure t :config (evil-leader/set-key ("gs" #'magit-status)) Since most configurations based on use-package are self-contained, when stuck I also like to use GitHub search to look on how other people configure a certain package[3]. In most cases the configuration should be reusable as-is. Finally, use-package is highly extensible. There is straight.el[4] which adds extension to use-package to fetch from Git and pin a version in a lockfile, which adds reproducibility to Emacs configuration. There's also el-patch[5] from the same author that allows patching package on the fly without the need to maintain separate forks. [1]: https://github.com/jwiegley/use-package [2]: https://github.com/syl20bnr/spacemacs/blob/d46eacd83842815b2... [3]: https://github.com/search?l=Emacs+Lisp&p=4&q=use-package&typ... [4]: https://github.com/raxod502/straight.el [5]: https://github.com/raxod502/el-patch
In Magit – A Git Porcelain inside Emacs
dpbriggs·Apr 15, 2020Recommendation phrase
I've been using Emacs for everything since highschool and through University and my career. The best way to get used to it is to bootstrap with tutorials and then just keep using it. I learned a lot about it from doing basic projects and then homework assignments, and then at work. I started out by following basic tutorials, like this one [0], and working my way up. You may want to find a guide to get themes setup, and some rough edges ironed out. Alternatively, you could dive into distributions. I highly recommend Spacemacs, and have written an article about it [1]. It is a lot of learning especially if you're familiar with vim. The github page is also a great introduction [2]. I would recommend using the develop branch over master, as master tends to be very stale. I have also heard good things about Doom emacs, another vim style distr
Read the rest
In Ask HN: Resources to grok Emacs and use it well?
As others have said, the tutorial is the best place to start (C-h t). After that for any other thing you need to learn in emacs the info will probably have it (C-h i or M-x info). Emacs users usually spend much time configuring their “operating system” till they’re satisfied, by modifying the init.el, but you can get a popular config already made [0][1]. My biggest recommendation after understanding how emacs works, if you use/prefer vi binds, is install evil-mode [2]. It’s essentially a vi layer on top of emacs, and is very functional. edit: If you use MacOS, Yamamoto Mitsuharu‘s emacs-mac [3] is my recommendation, as for linux the version from your distros package manager should be apt. ;) [0] https://github.com/hlissner/doom-emacs [1] https://github.com/syl20bnr/spacemacs [2] https://github.com/emacs-evil/evil [3] https://bitbucket.org
Read the rest
In Ask HN: Resources to grok Emacs and use it well?
Looks like a clusterfuck composed for you by other people is still a clusterfuck. I gave it a couple hours and ran into a bunch of issues just by using spacemacs master and enabling a few layers. For example, semantic seems to be pretty broken and unmaintained, and only googling around is how you find out. Yet other layers' documentation kinda (not so) subtly nudge you towards installing broken crap like this, without telling you that it's broken. https://www.reddit.com/r/emacs/comments/5yxxrl/what_is_that_... Enabling version-control layer breaks a bunch of magit functionality, including basics such as commit. Don't enable that broken layer, I guess? Funny, apparently fixed in develop and still broken in master 9 months later.. https://github.com/syl20bnr/spacemacs/issues/12056 git blame is broken: https://github.com/magit/magit/issu
Read the rest
es/3883 Does anyone actually use this stuff?! And I still haven't found a way out of silly autoindentation so I'm forced to waste time trying to configure features that I did not want in the first place :( Stuff like ^N and ^P aren't quite working like in vim either.. This kind of stuff is pretty much exactly what pushed me away from emacs the second time I tried to use it for real. A tangled mess of a bazillion packages that interfere with each other and come in various degrees of unmaintained, broken, or obviously broken is not a good foundation for building good software.
In Hacking Your Keyboard
For python just use Elpy [1] or anaconda-mode. Microsoft Language Server is nice but use it for things you can not find a package in elpa or melpa. Obviously you can use emacs-prelude [2] or spacemacs [3] in the beginning and as you get familiar write your own init.el or packages to make it work the way you want. I have yet to see anything like tramp allowing seemless work on file over ssh, org-mode, ledger-mode, ERC in any other editor except may be some in vi. Indeed magit is better than any tool you will find for managing git repository. I can go on and on. You have to give it a try to see it for yourself, it pays for its learning curve over the time you use it. Initially those parentheses looks awkward, but once you get around it with understanding lisp, you will not want to go back. [1] https://github.com/jorgenschaefer/elpy [2] http
Read the rest
In Emacs 26.3

Showing the 15 most recent of 93 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.