spacemacs/README.md

121 lines
4.6 KiB
Markdown
Raw Normal View History

2014-10-13 03:56:29 +00:00
![title](https://raw.githubusercontent.com/syl20bnr/spacemacs/master/doc/title.png)
[![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)[![Twitter][]](http://www.twitter.com/spacemacs)
2014-09-21 23:58:53 +00:00
2014-11-22 06:31:33 +00:00
[philosophy][] | [goals][] | [for who?][] | [screenshots][] | [achievements][] | [contribute][CONTRIBUTE.md] | [documentation][DOCUMENTATION.md]
2013-11-24 04:00:41 +00:00
# Introduction
2014-10-16 17:03:17 +00:00
`Spacemacs` is a user-friendly and well-documented Emacs Advanced kit.
2014-10-16 22:21:36 +00:00
`Advanced` means here that it heavily and happily performs non-trivial tweaks
and customization in order to make itself easy to use and unique.
2014-10-16 17:03:17 +00:00
`Advanced` does not mean that you have to be an advanced Emacs user, beginners
are welcome and encouraged to use `Spacemacs` since it provides a simple
architecture to contribute changes and hack others contributions.
2014-11-22 06:31:33 +00:00
Its status is `beta` for now, essentially because of the configuration system
2014-10-16 17:03:17 +00:00
that is not yet finished but already usable.
2014-10-18 01:55:28 +00:00
And now, to use a well known catch line from [Emacs Live][emacs_live]:
2014-10-16 17:03:17 +00:00
M-x start-spacing !
# Prerequisites
2014-09-27 02:50:30 +00:00
`Spacemacs` is tested with Emacs 24.3 and 24.4. It should boot on all the major
OSes where these versions can be installed.
2013-11-23 05:46:33 +00:00
# Install
2013-11-23 05:46:33 +00:00
1) Backup your current `~/.emacs.d` and clone the repo _with the submodules_:
2013-11-23 05:46:33 +00:00
cd ~
mv .emacs.d .emacs.bak
git clone --recursive http://github.com/syl20bnr/spacemacs ~/.emacs.d
2013-11-23 05:46:33 +00:00
`master` is a stable branch, if you want the "bleeding edge" checkout the
`develop` branch.
2) Launch Emacs, the first time a bunch of packages will be downloaded and
installed. When the package installation is complete restart Emacs and
`Spacemacs` should be ready to use.
In case of failure see [troubleshoot section][troubleshoot] in documentation.
# Configuration
## Configuration layers
`Spacemacs` is based on [configuration layers][config]. To create your own
configuration layer:
<SPC> : config-system/create-layer RET
2014-11-22 05:53:13 +00:00
Then choose a name and a layer skeleton will be created in the [private][]
directory. The `private` directory is ignored by Git.
2014-11-22 05:53:13 +00:00
To use your newly created configuration layer, add it to your `~/.spacemacs`
file (see next section).
## Dotfile ~/.spacemacs
2014-11-22 05:53:13 +00:00
`Spacemacs` has a convenient dotfile. You have to install it by invoking the
following command inside Emacs:
<SPC> : dotspacemacs/install RET
Refers directly to the file `~/.spacemacs` to get documentation or
navigate to the [dotfile configuration][dotfile] section of [DOCUMENTATION.md][].
# Contributions
To consult the contribution guidelines go to [CONTRIBUTE.md][].
# Help commands
2014-10-29 14:02:28 +00:00
## Key bindings
2014-10-29 14:02:28 +00:00
2014-10-31 04:42:04 +00:00
1) By default, [guide-key][] and [guide-key-tip][] are enabled.
Whenever you press a prefix command (like `<SPC>`) and wait for one second,
a buffer appear listing the possible keys following this prefix.
2014-10-31 04:42:04 +00:00
2) You can also easily get a full list of all the key bindings by pressing:
2014-10-29 14:02:28 +00:00
<SPC> ?
To narrow the list to `Spacemacs` specific key bindings set the pattern to
something like the regular expression:
`^SPC\ b`
The example above will list all the `buffer` related bindings.
## Other describe functions
2014-10-29 14:02:28 +00:00
Emacs `describe-xxx` function are accessible with the following bindings:
Key Binding | Description
--------------|------------------------------------------------------------------
`<SPC> h d f` | describe-function
`<SPC> h d k` | describe-key
`<SPC> h d m` | describe-mode
`<SPC> h d v` | describe-variable
2014-11-19 04:47:30 +00:00
[Twitter]: http://i.imgur.com/tXSoThF.png
[philosophy]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#philosophy
[goals]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#goals
[for who?]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#who-can-benefit-from-this-
[screenshots]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#screenshots
[config]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#configuration-layers
[dotfile]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#dotfile-configuration
[achievements]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#achievements
[troubleshoot]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md#troubleshoot
2014-11-22 05:53:13 +00:00
[private]: https://github.com/syl20bnr/spacemacs/tree/master/private
[DOCUMENTATION.md]: https://github.com/syl20bnr/spacemacs/blob/master/DOCUMENTATION.md
[CONTRIBUTE.md]: https://github.com/syl20bnr/spacemacs/blob/master/CONTRIBUTE.md
2014-10-16 17:03:17 +00:00
[emacs_live]: https://github.com/overtone/emacs-live
2014-10-31 04:42:04 +00:00
[guide-key]: https://github.com/kai2nenobu/guide-key
[guide-key-tip]: https://github.com/aki2o/guide-key-tip