|Number of watchers on Github||14331|
|Number of open issues||1859|
|Average time to close an issue||1 day|
|Main language||Emacs Lisp|
|Average time to merge a PR||about 18 hours|
|Open pull requests||543+|
|Closed pull requests||839+|
|Last commit||5 months ago|
|Repo Created||over 5 years ago|
|Repo Last Updated||4 months ago|
|Organization / Author||syl20bnr|
|Do you use spacemacs? Leave a review!|
|View open issues (1859)|
|View spacemacs activity|
|View on github|
|Latest Open Source Launches|
Trendy new open source projects in your inbox! View examples
Easy and beautiful.
It's an all in one solution for emacs vim keybidings
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
Table of Contents
Spacemacs is a new way to experience Emacs -- a sophisticated and polished set-up focused on ergonomics, mnemonics and consistency.
Just clone it, 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
Spacemacs can be used naturally by both Emacs and Vim users -- you can even mix the two editing styles. Switching easily between input styles makes Spacemacs a great tool for pair-programming.
Spacemacs is currently in beta, and contributions are very welcome.
Comprehensive documentation is available for each layer by pressing SPC h SPC.
If you need help, ask your question 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
Spacemacs requires Emacs 24.4 or above. The development version of Emacs (at the time of writing, this is 25.2) is not officially supported, but should nevertheless be expected to work.
Some modes require third-party tools that you'll have to install via your favorite package manager.
Install Emacs from the package manager of your Linux distribution.
You should install the
emacs package, not the
XEmacs is an old fork of Emacs. The X in its name is unrelated to X11.
Both Emacs and XEmacs have graphical support.
Note: Ubuntu LTS 12.04 and 14.04 repositories have only Emacs 24.3 available. You have to build from source Emacs 24.4 or greater, as Spacemacs won't work with 24.3. The same may be true for other distributions as well.
The recommended way of installing Emacs on macOS is using homebrew:
$ brew tap d12frosted/emacs-plus $ brew install emacs-plus $ brew linkapps emacs-plus
Note: these homebrew commands will install GNU Emacs, and link it to your
/Applications directory. You still need to run the
git clone mentioned at
the start of this file. That will populate your
~/.emacs.d directory, which is
what transforms a regular GNU Emacs into Spacemacs.
Note: the proposed
emacs-plus tap is identical to the
emacs formulae, it
just builds GNU Emacs with support of several features by default along with
providing Spacemacs icon.
See emacs-plus for more
Note: to have the title bar match your theme background color, consider using instead:
$ brew install emacs-plus --HEAD --with-natural-title-bars
Note: if the powerline separators on the spaceline are a different (less
saturated) color than the rest of the line, you can add following snippet to
dotspacemacs/user-config in your
(setq ns-use-srgb-colorspace nil)
Keep in mind that this is not ideal solution as it affects all colours in Emacs.
Another option is to use different powerline separator. For example,
bar diminishes the difference. And using
utf-8 separator makes it go
away completely without the need to change colour space. In order to change
powerline separator put following snippet in
(setq powerline-default-separator 'utf-8)
For more information about powerline separators, please refer to appropriate section in Documentation.
Be sure to declare a environment variable named
HOME pointing to your user
C:\Users\<username>. Then you can clone Spacemacs in this directory.
Sometimes you'll get the following error when you first start Emacs:
The directory ~/.emacs.d/server is unsafe
To fix it change the owner of the directory
Source: Stack Overflow
For efficient searches we recommend to install
pt (the platinum searcher).
pt version 1.7.7 or higher is required.
cd ~ mv .emacs.d .emacs.d.bak mv .emacs .emacs.bak
Don't forget to backup and remove
~/.emacs file otherwise Spacemacs
WILL NOT load since that file prevents Emacs from loading the proper
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
master is the stable branch and it is immutable, DO NOT make any
modification to it or you will break the update mechanism. If you want to
fork Spacemacs safely use the
develop branch where you handle the update
If you are running in terminal you'll also need to change font settings of your terminal.
Or you can set the
nil in your dotfile to
remove the need to start Emacs with
--insecure argument. You may wish to
clear out your
.emacs.d/elpa directory before doing this, so that any
corrupted packages you may have downloaded will be re-installed.
If the mode-line turns red then be sure to consult the FAQ.
It may be useful to clone Spacemacs outside Emacs dotdirectory
you can try Spacemacs without replacing completely our own configuration.
There is currently two possibilities to support alternative location for
This solution is ideal to quickly try Spacemacs without compromising your existing configuration.
mkdir ~/spacemacs git clone https://github.com/syl20bnr/spacemacs.git ~/spacemacs/.emacs.d HOME=~/spacemacs emacs
Note: If you're on Fish shell, you will need to modify the last command to:
This solution is better suited to
embed Spacemacs into your own configuration.
Say you cloned Spacemacs in
~/.emacs.d/spacemacs/ then drop these lines in
(setq spacemacs-start-directory "~/.emacs.d/spacemacs/") (load-file (concat spacemacs-start-directory "init.el"))
For Ubuntu users, follow this guide to change the logo in Unity.
Spacemacs has a built-in notification of a new version when you are on the
master branch. If you are on the
develop branch then you'll have to
update Spacemacs manually by updating your repository.
When a new version is available a little arrow appears in the mode-line.
Its color depends on the number of versions available since your last update. Green means that your current version is recent, orange and red mean that your current version is older.
Click on the arrow to update Spacemacs to the last version.
(Remove the angle brackets when typing the lines below into your shell.)
git fetch git reset --hard <tag version which you are updating to>
Update Emacs packages by clicking (press
RET) on the
[Update Packages] link of
the starting page.
Close Emacs and update the git repository:
git pull --rebase
To revert to a specific version you just have to checkout the corresponding
branch, for instance to revert to the last
git checkout origin/release-0.103
After you update, either manually, or automatically, you are advised to update
your packages by clicking the
[Update Packages] button on the Spacemacs Home
I feel that spacemacs is an aircraft carrier and I am playing table tennis on the deck as a freerider.
I LOVE SPACEMACS AND MAGIT That is all
Spacemacs is a community-driven project, it needs you to keep it up to date and propose great and useful configuration for all the things!
Here is a throughput graph of the repository for the last few weeks:
The license is GPLv3 for all parts specific to Spacemacs, this includes:
For the packages shipped in this repository you can refer to the files header.
The best way to support Spacemacs is to contribute to it either by reporting bugs, helping the community on the Gitter Chat or sending pull requests.
You can show your love for the project by getting cool Spacemacs t-shirts, mugs and more in the Spacemacs Shop.
[![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg)](http://spacemacs.org)
<a href="http://spacemacs.org"><img src="https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg" /></a>
esslayer (thanks to NGaffney)
extra-langs(thanks to bennofs)
info+.elas local package
help-fns+.elas local package
hide-comnt.elas local package
helmdisplay function (thanks to jackkamm)
anaconda-modevariable names in Python layer (thanks to nixmaniack)
helm-cscope-find-calling-this-function(thanks to dubnde)
org-mimepackage from MELPA (thanks to jackkamm)
helm-spotify-plus(thanks to leezu)
pyimpackage name in Chinese layer (thanks to James Wang)