2015-04-08 02:00:10 +00:00
|
|
|
<a name="top"></a>
|
2015-09-23 03:28:58 +00:00
|
|
|
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/syl20bnr/spacemacs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/syl20bnr/spacemacs.svg)](https://travis-ci.org/syl20bnr/spacemacs) [![Buy A Drink](https://img.shields.io/badge/Paypal-Buy%20a%20Drink-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESFVNPKP4Y742) [![Recommend Spacemacs](https://img.shields.io/badge/Slant-Recommend-ff69b4.svg)](http://www.slant.co/topics/12/~what-are-the-best-programming-text-editors)[![Twitter][]](http://www.twitter.com/spacemacs)
|
2015-01-15 02:45:20 +00:00
|
|
|
***
|
2015-06-21 20:02:04 +00:00
|
|
|
<p align="center"><img src="/doc/img/title2.png" alt="Spacemacs"/></p>
|
2015-03-29 05:16:03 +00:00
|
|
|
<p align="center">
|
2015-06-21 20:02:04 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org#core-pillars">philosophy</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-06-21 20:02:04 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org#goals">goals</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-07-02 19:32:37 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org#user-content-who-can-benefit-from-this">for whom?</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-06-21 20:02:04 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org#screenshots">screenshots</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-06-21 20:02:04 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org">documentation</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-09-28 05:31:27 +00:00
|
|
|
<b><a href="doc/CONTRIBUTE.org">contribute</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-06-21 20:02:04 +00:00
|
|
|
<b><a href="doc/DOCUMENTATION.org#achievements">achievements</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
|
|
2015-10-02 01:15:55 +00:00
|
|
|
<b><a href="doc/FAQ.org">FAQ</a></b>
|
2015-03-29 05:16:03 +00:00
|
|
|
</p>
|
2015-01-15 02:45:20 +00:00
|
|
|
***
|
2013-11-24 04:00:41 +00:00
|
|
|
|
2014-11-24 03:42:31 +00:00
|
|
|
**Quick Install:**
|
|
|
|
|
2015-08-05 03:18:50 +00:00
|
|
|
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
|
2014-11-24 03:42:31 +00:00
|
|
|
|
2015-07-24 02:38:09 +00:00
|
|
|
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
|
|
|
|
**Table of Contents**
|
|
|
|
|
|
|
|
- [Introduction](#introduction)
|
|
|
|
- [Features](#features)
|
2015-09-23 03:26:12 +00:00
|
|
|
- [Documentation](#documentation)
|
|
|
|
- [Getting Help](#getting-help)
|
2015-07-24 02:38:09 +00:00
|
|
|
- [Prerequisites](#prerequisites)
|
|
|
|
- [Emacs](#emacs)
|
|
|
|
- [Linux distros](#linux-distros)
|
|
|
|
- [OS X](#os-x)
|
|
|
|
- [Windows](#windows)
|
|
|
|
- [Install](#install)
|
|
|
|
- [Spacemacs logo](#spacemacs-logo)
|
|
|
|
- [Update](#update)
|
2015-09-23 03:26:12 +00:00
|
|
|
- [Automatic update](#automatic-update)
|
|
|
|
- [On develop branch](#on-develop-branch)
|
2015-09-28 04:26:42 +00:00
|
|
|
- [Revert to a specific version](#revert-to-a-specific-version)
|
2015-01-06 23:50:20 +00:00
|
|
|
- [Contributions](#contributions)
|
2015-04-08 02:51:21 +00:00
|
|
|
- [License](#license)
|
2015-04-08 02:00:10 +00:00
|
|
|
- [Supporting Spacemacs](#supporting-spacemacs)
|
2015-01-06 23:50:20 +00:00
|
|
|
|
|
|
|
<!-- markdown-toc end -->
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
# Introduction
|
2014-10-16 17:03:17 +00:00
|
|
|
|
2015-10-10 20:31:00 +00:00
|
|
|
Spacemacs is a new way to experience Emacs -- a sophisticated and
|
|
|
|
polished set-up focused on ergonomics, mnemonics and consistency.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
2015-10-10 20:31:00 +00:00
|
|
|
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
|
|
|
|
try.
|
2015-03-29 04:42:37 +00:00
|
|
|
|
2015-10-10 20:31:00 +00:00
|
|
|
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.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
2015-03-29 04:34:57 +00:00
|
|
|
Spacemacs is currently in beta, and contributions are very welcome.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
2015-09-28 05:42:55 +00:00
|
|
|
![spacemacs_python](doc/img/spacemacs-python.png)
|
|
|
|
|
2014-11-22 21:53:38 +00:00
|
|
|
# Features
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
- **Great documentation:** Access documentation in Emacs with
|
|
|
|
<kbd>SPC f e h</kbd>
|
|
|
|
- **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 <kbd>space bar</kbd> or <kbd>alt-m</kbd>.
|
|
|
|
- **Mnemonic key bindings:** commands have mnemonic prefixes like
|
|
|
|
<kbd>SPC b</kbd> for all the buffer commands or <kbd>SPC p</kbd> for the
|
|
|
|
project commands.
|
|
|
|
- **Batteries included:** discover hundreds of ready-to-use packages nicely
|
|
|
|
organised in configuration layers following a set of
|
|
|
|
[conventions][CONVENTIONS.org].
|
2014-11-22 21:53:38 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
# Documentation
|
2014-11-22 21:53:38 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
A comprehensive documentation is available for each layer by pressing
|
|
|
|
<kbd>SPC f e h</kbd>.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
To go to the general documentation [click here][DOCUMENTATION.org].
|
2014-11-22 21:53:38 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
You can also check the [Quick Start guide][QUICK_START.org] and the
|
|
|
|
[FAQ][FAQ.org].
|
2014-12-05 07:40:32 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
# Getting Help
|
2014-12-05 07:40:32 +00:00
|
|
|
|
2014-12-08 02:30:00 +00:00
|
|
|
If you need help, ask your question in the [Gitter Chat][] and a member of the
|
|
|
|
community will help you out.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
2015-04-26 06:05:17 +00:00
|
|
|
If you prefer IRC, connect to the [Gitter Chat IRC server][] and join the
|
|
|
|
`#syl20bnr/spacemacs` channel.
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
# Prerequisites
|
2014-09-27 02:50:30 +00:00
|
|
|
|
2015-06-03 02:29:08 +00:00
|
|
|
## Emacs
|
2014-12-08 00:53:59 +00:00
|
|
|
|
2015-10-12 23:12:09 +00:00
|
|
|
Spacemacs is operational with Emacs 24.3 but Emacs 24.4 and above are
|
2015-09-23 03:26:12 +00:00
|
|
|
recommended to enjoy the full experience.
|
2013-11-23 05:46:33 +00:00
|
|
|
|
2014-11-25 04:04:43 +00:00
|
|
|
Some modes require third-party tools that you'll have to install via your
|
|
|
|
favorite package manager.
|
|
|
|
|
2015-06-03 02:29:08 +00:00
|
|
|
### Linux distros
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
Install Emacs from the package manager of your Linux distribution.
|
2015-06-03 02:29:08 +00:00
|
|
|
|
2015-09-25 00:53:41 +00:00
|
|
|
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.
|
|
|
|
|
2015-06-03 02:29:08 +00:00
|
|
|
### OS X
|
2014-12-08 00:53:59 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
We recommend the homebrew [emacs-mac-port][] formula:
|
2014-12-08 00:53:59 +00:00
|
|
|
|
|
|
|
```sh
|
2015-10-18 03:33:19 +00:00
|
|
|
$ brew tap railwaycat/homebrew-emacsmacport
|
2015-08-01 16:36:16 +00:00
|
|
|
$ brew install emacs-mac --with-spacemacs-icon # OR, brew cask install emacs-mac
|
2014-12-08 00:53:59 +00:00
|
|
|
```
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
It is also recommended to add the [osx layer][] to your [dotfile][]:
|
2014-12-08 00:53:59 +00:00
|
|
|
|
|
|
|
```elisp
|
2014-12-24 04:01:49 +00:00
|
|
|
(setq-default dotspacemacs-configuration-layers '(osx))
|
2014-12-08 00:53:59 +00:00
|
|
|
```
|
|
|
|
|
2014-12-25 02:36:07 +00:00
|
|
|
Note that the `emacs-mac-port` server behaves differently than the regular
|
|
|
|
Emacs server.
|
|
|
|
Details can be found on the emacs-mac-port [README][emacs-mac-port-server].
|
|
|
|
|
2015-06-03 02:29:08 +00:00
|
|
|
### Windows
|
|
|
|
|
|
|
|
Good quality builds can be found [on this page][emacs-for-windows]. It is
|
|
|
|
recommended to install the most stable build.
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
Be sure to declare a environment variable named `HOME` pointing to your user
|
|
|
|
directory `C:\Users\<username>`. Then you can clone Spacemacs in this directory.
|
2015-06-03 02:29:08 +00:00
|
|
|
|
|
|
|
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 `~/.emacs.d/server`:
|
|
|
|
- from Properties select the Tab “Security”,
|
|
|
|
- select the button “Advanced”,
|
|
|
|
- select the Tab “Owner”
|
|
|
|
- change the owner to your account name
|
|
|
|
|
|
|
|
Source: [Stackoverflow][so-server-unsafe]
|
|
|
|
|
2015-07-04 05:05:27 +00:00
|
|
|
For efficient searches we recommend to install `pt` ([the platinum searcher][]).
|
2015-06-03 02:29:08 +00:00
|
|
|
`pt` version 1.7.7 or higher is required.
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
# Install
|
2013-11-23 05:46:33 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
1. If you have an existing Emacs configuration, back it up first:
|
2014-09-07 03:28:55 +00:00
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
```sh
|
2014-12-06 01:35:39 +00:00
|
|
|
cd ~
|
2014-12-05 07:40:32 +00:00
|
|
|
mv .emacs.d .emacs.bak
|
|
|
|
```
|
2013-11-23 05:46:33 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
2. Clone the repository:
|
2014-10-29 14:46:50 +00:00
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
```sh
|
2015-04-18 18:05:03 +00:00
|
|
|
git clone --recursive https://github.com/syl20bnr/spacemacs ~/.emacs.d
|
2014-12-05 07:40:32 +00:00
|
|
|
```
|
2014-10-18 01:35:43 +00:00
|
|
|
|
2015-09-30 01:42:40 +00:00
|
|
|
`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
|
|
|
|
manually.
|
2014-11-22 05:45:19 +00:00
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
3. Launch Emacs. Spacemacs will automatically install the packages it requires.
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2015-03-18 05:13:45 +00:00
|
|
|
4. Restart Emacs to complete the installation.
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
If the mode-line turns red then be sure to visit the
|
2015-10-02 01:15:55 +00:00
|
|
|
[troubleshooting][troubleshoot] guide and consult the [FAQ][FAQ.org].
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2015-03-22 00:05:35 +00:00
|
|
|
## Spacemacs logo
|
|
|
|
|
|
|
|
If you are using Ubuntu and Unity then you can add the Spacemacs logo by
|
2015-03-29 04:34:57 +00:00
|
|
|
following the instructions [here][cpaulik-unity-icon].
|
2015-03-22 00:05:35 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
If you're on a mac follow [these instructions][icon-mac-instructions]. You can
|
|
|
|
find an .icns version of the logo by [Nasser Alshammari](http://www.nass3r.com)
|
|
|
|
in [his repository][icon-repository].
|
2015-06-08 11:23:22 +00:00
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
# Update
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2015-09-23 06:44:01 +00:00
|
|
|
Spacemacs has a built-in notification of a new version when you are on the
|
2015-09-23 03:26:12 +00:00
|
|
|
`master` branch. If you are on the `develop` branch then you'll have to
|
|
|
|
update Spacemacs manually by updating your repository.
|
|
|
|
|
|
|
|
## Automatic update
|
|
|
|
|
2015-09-23 06:44:01 +00:00
|
|
|
When a new version is available a little arrow appears in the mode-line.
|
2015-09-23 03:26:12 +00:00
|
|
|
|
|
|
|
Its color depends on the number of versions available since your last update.
|
|
|
|
Green means that your current version is recent, orange and red that your
|
|
|
|
current version is older.
|
|
|
|
|
2015-10-02 17:35:43 +00:00
|
|
|
![powerline_update](doc/img/powerline-update.png)
|
2015-09-23 03:26:12 +00:00
|
|
|
|
|
|
|
Click on the arrow to update Spacemacs to the last version.
|
|
|
|
|
|
|
|
## On develop branch
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2015-02-04 05:44:03 +00:00
|
|
|
1. Update Emacs packages by clicking (press `RET`) on the `[Update]` link of
|
2015-03-10 01:50:41 +00:00
|
|
|
the starting page.
|
2014-12-05 07:40:32 +00:00
|
|
|
|
|
|
|
2. Close Emacs and update the git repository:
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
```sh
|
|
|
|
git pull --rebase
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Restart Emacs to complete the upgrade.
|
2014-11-25 04:04:43 +00:00
|
|
|
|
2015-09-28 04:26:42 +00:00
|
|
|
## 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 `0.103`:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
git checkout origin/release-0.103
|
|
|
|
```
|
|
|
|
|
2014-11-24 03:55:35 +00:00
|
|
|
# Contributions
|
|
|
|
|
2015-10-12 23:12:09 +00:00
|
|
|
Spacemacs is a community-driven project, it needs _you_ to keep it up to
|
2015-09-23 03:26:12 +00:00
|
|
|
date and propose useful and complete configuration!
|
2014-11-24 03:55:35 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
Before contributing be sure to consult the
|
|
|
|
[contribution guidelines][CONTRIBUTE.org] and [conventions][CONVENTIONS.org].
|
2014-11-24 03:55:35 +00:00
|
|
|
|
2015-04-08 02:51:21 +00:00
|
|
|
# License
|
|
|
|
|
2015-10-12 23:12:09 +00:00
|
|
|
The license is GPLv3 for all parts specific to Spacemacs, this includes:
|
2015-04-08 02:51:21 +00:00
|
|
|
- the initialization and core files
|
|
|
|
- all the layer files.
|
|
|
|
- the documentation
|
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
For the packages shipped in this repository you can refer to the files header.
|
2015-03-13 03:23:10 +00:00
|
|
|
|
2015-09-23 03:26:12 +00:00
|
|
|
[Spacemacs logo][] by [Nasser Alshammari][] released under a Creative Commons
|
|
|
|
license.
|
2015-03-13 03:23:10 +00:00
|
|
|
|
2015-04-08 02:00:10 +00:00
|
|
|
# Supporting Spacemacs
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
If you want to show your support financially you can buy a drink to the
|
|
|
|
maintainer by clicking on the [Paypal badge](#top).
|
|
|
|
|
|
|
|
Thank you !
|
|
|
|
|
2014-11-19 04:47:30 +00:00
|
|
|
[Twitter]: http://i.imgur.com/tXSoThF.png
|
2015-07-04 11:46:15 +00:00
|
|
|
[CONTRIBUTE.org]: doc/CONTRIBUTE.org
|
2015-06-21 20:02:04 +00:00
|
|
|
[CONVENTIONS.org]: doc/CONVENTIONS.org
|
2015-07-04 11:46:15 +00:00
|
|
|
[DOCUMENTATION.org]: doc/DOCUMENTATION.org
|
2015-09-23 03:26:12 +00:00
|
|
|
[QUICK_START.org]: doc/QUICK_START.org
|
|
|
|
[FAQ.org]: doc/FAQ.org
|
2015-06-21 20:02:04 +00:00
|
|
|
[HOWTOs.org]: doc/HOWTOs.org
|
2015-07-04 11:46:15 +00:00
|
|
|
[VIMUSERS.org]: doc/VIMUSERS.org
|
2015-06-21 20:02:04 +00:00
|
|
|
[dotfile]: doc/DOCUMENTATION.org#dotfile-configuration
|
|
|
|
[troubleshoot]: doc/DOCUMENTATION.org#troubleshoot
|
2015-09-29 02:51:57 +00:00
|
|
|
[osx layer]: layers/osx/README.org
|
2014-11-22 21:53:38 +00:00
|
|
|
[Gitter Chat]: https://gitter.im/syl20bnr/spacemacs
|
2015-04-26 06:05:17 +00:00
|
|
|
[Gitter Chat IRC server]: https://irc.gitter.im/
|
2015-04-21 06:49:23 +00:00
|
|
|
[emacs-mac-port]: https://github.com/railwaycat/homebrew-emacsmacport
|
2014-12-25 02:36:07 +00:00
|
|
|
[emacs-mac-port-server]: https://github.com/railwaycat/emacs-mac-port/blob/master/README-mac#L210-L213
|
2015-06-03 02:29:08 +00:00
|
|
|
[emacs-for-windows]: http://emacsbinw64.sourceforge.net/
|
2015-07-04 05:05:27 +00:00
|
|
|
[the platinum searcher]: https://github.com/monochromegane/the_platinum_searcher
|
2015-01-06 23:48:13 +00:00
|
|
|
[so-server-unsafe]: http://stackoverflow.com/questions/885793/emacs-error-when-calling-server-start
|
2015-03-13 03:23:10 +00:00
|
|
|
[Spacemacs logo]: https://github.com/nashamri/spacemacs-logo
|
|
|
|
[Nasser Alshammari]: https://github.com/nashamri
|
2015-03-22 00:05:35 +00:00
|
|
|
[cpaulik-unity-icon]: http://splendidabacus.com/posts/2015/03/spacemacs-unity-icon/
|
2015-09-23 03:26:12 +00:00
|
|
|
[icon-mac-instructions]: http://www.idownloadblog.com/2014/07/16/how-to-change-app-icon-mac/
|
|
|
|
[icon-repository]: https://github.com/nashamri/spacemacs-logo
|