git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
Table of Contents
- Getting Help
- Supporting Spacemacs
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.
- Great documentation: access documentation in Emacs 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 space bar 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 organised in configuration layers following a set of conventions.
Comprehensive documentation is available for each layer by pressing SPC h SPC.
To go to the general documentation click here.
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 is operational with Emacs 24.3, but Emacs 24.4 and above are highly recommended to enjoy a full experience. The next Emacs major release, Emacs 25, is not officially supported but is partially working (i.e. bugs should be expected).
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" package. 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 are advised to build from source Emacs 24.4 or greater, as most packages require this version. The same may be true for other distributions as well.
We recommend the homebrew emacs-mac-port formula:
$ brew tap d12frosted/emacs-plus $ brew install emacs-plus --with-cocoa --with-gnutls --with-librsvg --with-imagemagick --with-spacemacs-icon $ brew linkapps
Note: these homebrew commands will install 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 Emacs into Spacemacs.
Note: the proposed
emacs-plus tap is indentical to the
it just defines some additional options like
Note that the
emacs-mac-port server behaves differently than the regular Emacs
server which in particular DOES NOT allow multi-tty if you start GUI i.e.
you can't connect to the Emacs GUI server with
emacsclient but server-client
works if you start from terminal(TTY-only).
Details can be found on the emacs-mac-port README.
Good quality builds can be found on this page. It is recommended to install the most stable build.
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
- from Properties select the Tab “Security”,
- select the button “Advanced”,
- select the Tab “Owner”
- change the owner to your account name
For efficient searches we recommend to install
pt (the platinum searcher).
pt version 1.7.7 or higher is required.
If you have an existing Emacs configuration, back it up first:
cd ~ mv .emacs.d .emacs.d.bak mv .emacs .emacs.bak
Don't forget to backup and remove
~/.emacsfile otherwise Spacemacs WILL NOT load since that file prevents Emacs from loading the proper initialization file.
Clone the repository:
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
masteris 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
developbranch where you handle the update manually.
Launch Emacs. Spacemacs will automatically install the packages it requires. If you get an error regarding package downloads then you may try to disable the HTTPS protocol by starting Emacs with
You may wish to clear out your
.emacs.d/elpadirectory before doing this, so that any corrupted packages you may have downloaded will be reinstalled.
Restart Emacs to complete the installation.
If the mode-line turns red then be sure to consult the FAQ.
Installation alongside another configuration
To try out Spacemacs (or any other Emacs configuration you desire) without
having to go through the trouble of backing up you
~/.emacs.d directory and
then cloning the new configuration:
mkdir ~/spacemacs git clone firstname.lastname@example.org: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:
env HOME=$HOME/spacemacs emacs
If you are using Ubuntu and Unity then you can add the Spacemacs logo by following the instructions here.
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.
Automatic update (on master branch)
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.
Manual update (on master branch)
(Remove the angle brackets when typing the lines below into your shell.)
git fetch git reset --hard <tag version which you are updating to>
On develop branch
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
Restart Emacs to complete the upgrade.
Revert to a specific version
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.»
Spacemacs is a community-driven project, it needs you to keep it up to date and propose useful and complete configuration!
The license is GPLv3 for all parts specific to Spacemacs, this includes:
- the initialization and core files
- all the layer files
- the documentation
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.
[![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg)](http://github.com/syl20bnr/spacemacs)
<a href="https://github.com/syl20bnr/spacemacs"><img src="https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg" /></a>