2015-01-15 02:45:20 +00:00
|
|
|
|
***
|
2015-03-13 03:23:10 +00:00
|
|
|
|
<p align="center"><img src="./doc/img/title2.png" alt="Spacemacs"/></p>
|
|
|
|
|
|
|
|
|
|
| [philosophy][] | [goals][] | [for who?][] | [screenshots][] | [documentation][DOCUMENTATION.md] | [contribute][CONTRIBUTE.md] | [achievements][] | [FAQ][] |
|
2015-01-15 02:45:20 +00:00
|
|
|
|
***
|
|
|
|
|
[![Build Status](https://travis-ci.org/syl20bnr/spacemacs.svg)](https://travis-ci.org/syl20bnr/spacemacs) [![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)
|
|
|
|
|
***
|
2013-11-24 04:00:41 +00:00
|
|
|
|
|
2014-11-24 03:42:31 +00:00
|
|
|
|
**Quick Install:**
|
|
|
|
|
|
|
|
|
|
git clone --recursive http://github.com/syl20bnr/spacemacs ~/.emacs.d
|
|
|
|
|
|
2015-01-06 23:50:20 +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)
|
|
|
|
|
- [Batteries Included](#batteries-included)
|
|
|
|
|
- [Nice UI](#nice-ui)
|
|
|
|
|
- [Excellent Evil Support](#excellent-evil-support)
|
|
|
|
|
- [Convenient and Mnemonic Key Bindings](#convenient-and-mnemonic-key-bindings)
|
|
|
|
|
- [Great [Documentation][DOCUMENTATION.MD]](#great-documentationdocumentationmd)
|
|
|
|
|
- [Prerequisites](#prerequisites)
|
|
|
|
|
- [Emacs version](#emacs-version)
|
|
|
|
|
- [OS X](#os-x)
|
|
|
|
|
- [Install](#install)
|
|
|
|
|
- [Update](#update)
|
2015-01-08 05:34:23 +00:00
|
|
|
|
- [Update notification](#update-notification)
|
2015-02-04 05:44:03 +00:00
|
|
|
|
- [Rollback](#rollback)
|
2015-01-06 23:50:20 +00:00
|
|
|
|
- [Configuration](#configuration)
|
|
|
|
|
- [Configuration layers](#configuration-layers)
|
|
|
|
|
- [Dotfile (.spacemacs)](#dotfile-spacemacs)
|
|
|
|
|
- [Learning Spacemacs](#learning-spacemacs)
|
|
|
|
|
- [Evil-tutor](#evil-tutor)
|
|
|
|
|
- [The leader key](#the-leader-key)
|
|
|
|
|
- [Universal argument](#universal-argument)
|
2015-03-13 03:23:10 +00:00
|
|
|
|
- [Configuration layers and Package discovery](#configuration-layers-and-package-discovery)
|
2015-01-06 23:50:20 +00:00
|
|
|
|
- [Key bindings discovery](#key-bindings-discovery)
|
|
|
|
|
- [Describe functions](#describe-functions)
|
|
|
|
|
- [Contributions](#contributions)
|
2015-03-13 03:23:10 +00:00
|
|
|
|
- [Credits](#credits)
|
2015-01-06 23:50:20 +00:00
|
|
|
|
- [FAQ](#faq)
|
|
|
|
|
- [Common](#common)
|
|
|
|
|
- [Windows](#windows)
|
|
|
|
|
- [OS X](#os-x)
|
|
|
|
|
|
|
|
|
|
<!-- markdown-toc end -->
|
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
|
# Introduction
|
2014-10-16 17:03:17 +00:00
|
|
|
|
|
2014-12-05 04:03:51 +00:00
|
|
|
|
`Spacemacs` is a user-friendly and well-documented Emacs kit that integrates the
|
|
|
|
|
best Emacs packages out there. It uses [Evil Mode][] to combine the ergonomic
|
|
|
|
|
editing features of Vim with the extensibility of Emacs.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Spacemacs is designed to be approachable for users coming from Vim–you do not
|
|
|
|
|
need prior experience with Emacs to get started.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
If you are already an experienced Emacs user, you will appreciate the elegantly
|
|
|
|
|
customized system and carefully curated, tightly integrated, set of packages.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
|
2014-12-05 04:03:51 +00:00
|
|
|
|
Spacemacs is currently in beta, and contributions are welcome.
|
2014-10-16 17:03:17 +00:00
|
|
|
|
|
2014-11-22 21:53:38 +00:00
|
|
|
|
# Features
|
|
|
|
|
|
2015-01-06 23:49:37 +00:00
|
|
|
|
## Batteries Included
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
Spacemacs integrates hundreds of packages and is ready to use with no additional
|
2015-03-10 01:50:41 +00:00
|
|
|
|
configuration. It provides excellent support for many languages, including these:
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-19 20:30:59 +00:00
|
|
|
|
- [Elixir][]
|
|
|
|
|
- [Haskell][]
|
|
|
|
|
- [JavaScript][]
|
2015-02-10 04:38:46 +00:00
|
|
|
|
- [LaTeX][]
|
2014-12-19 20:30:59 +00:00
|
|
|
|
- [Python][]
|
|
|
|
|
- [R][]
|
|
|
|
|
- [Ruby][]
|
2014-12-05 07:40:32 +00:00
|
|
|
|
- SCSS
|
2014-12-19 20:30:59 +00:00
|
|
|
|
- [Scala][]
|
|
|
|
|
- [Clojure][]
|
|
|
|
|
- [C-C++][]
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
It also ships with [Git support][] and [project management][] tools. All
|
|
|
|
|
features are lazily loaded (on-demand) to minimize startup time.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
The Spacemacs community provides [additional configurations][contrib layers]
|
2015-03-10 01:50:41 +00:00
|
|
|
|
that extend this default distribution.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
**[Visit the Documentation][DOCUMENTATION.MD]**
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-01-06 23:49:37 +00:00
|
|
|
|
## Nice UI
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Spacemacs looks good. It ships with quality themes and a minimalist
|
2014-12-05 07:40:32 +00:00
|
|
|
|
modeline.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-12 00:55:44 +00:00
|
|
|
|
![spacemacs_python](doc/img/spacemacs-python.png)
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-01-06 23:49:37 +00:00
|
|
|
|
## Excellent Evil Support
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Spacemacs is designed around Vim keyboard bindings powered by [Evil Mode][].
|
|
|
|
|
The core packages are customized to integrate seamlessly with Evil.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
Spacemacs improves upon Vim by using task-specific states to group related
|
|
|
|
|
commands. These states reduce the keystrokes needed to issue repetitive commands
|
|
|
|
|
and reduce the number of keyboard bindings to learn.
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2015-01-06 23:49:37 +00:00
|
|
|
|
## Convenient and Mnemonic Key Bindings
|
2014-11-22 21:53:38 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
`Spacemacs` organizes key bindings into mnemonic groups. For example, commands
|
|
|
|
|
to operate on the buffer are prefixed by `<SPC> b`, and commands to operate on
|
|
|
|
|
the project are under `<SPC> p`.
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
There is no need to learn convoluted Emacs key chords–Spacemacs uses memorable
|
2014-12-05 07:40:32 +00:00
|
|
|
|
bindings that are easy to type.
|
|
|
|
|
|
|
|
|
|
### Great [Documentation][DOCUMENTATION.MD]
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Most of Spacemacs' features, key bindings, and configuration options
|
|
|
|
|
are extensively documented.
|
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
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
|
# Prerequisites
|
2014-09-27 02:50:30 +00:00
|
|
|
|
|
2014-12-08 00:53:59 +00:00
|
|
|
|
## Emacs version
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
`Spacemacs` is tested with Emacs 24.3 and 24.4 and therefore should boot
|
|
|
|
|
on all the major OSes where these versions are installable.
|
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.
|
|
|
|
|
|
2014-12-08 00:53:59 +00:00
|
|
|
|
## OS X
|
|
|
|
|
|
|
|
|
|
The recommended version for OS X is [emacs-mac-port][]. It can be installed
|
2015-03-10 01:50:41 +00:00
|
|
|
|
via [homebrew][] with the following commands:
|
2014-12-08 00:53:59 +00:00
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
$ brew tap railwaycat/emacsmacport
|
|
|
|
|
$ brew install emacs-mac
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The default key handling is different from the official OS X port. To correct
|
2014-12-24 04:01:49 +00:00
|
|
|
|
this you can add the [osx layer][] to your [dotfile][] layer list:
|
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].
|
|
|
|
|
|
2014-11-20 01:11:25 +00:00
|
|
|
|
# Install
|
2013-11-23 05:46:33 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
1. If you have an existing Emacs configuration, back it up:
|
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
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
2. Clone this repository _with its submodules_:
|
2014-10-29 14:46:50 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
```sh
|
|
|
|
|
git clone --recursive http://github.com/syl20bnr/spacemacs ~/.emacs.d
|
|
|
|
|
```
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
`master` is the stable branch and is regularly updated. Switch to the `develop`
|
|
|
|
|
branch if you want to use the bleeding-edge version.
|
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-04 03:36:20 +00:00
|
|
|
|
4. Restart Emacs to complete the installation. If you see something like this:
|
|
|
|
|
```
|
|
|
|
|
Loading............................................................Ready!
|
|
|
|
|
[121 packages loaded in 3.208s]
|
|
|
|
|
```
|
2015-03-10 01:50:41 +00:00
|
|
|
|
then you should be good to go! Otherwise, see the [troubleshooting][troubleshoot] guide.
|
2014-11-25 04:04:43 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
# Update
|
2014-11-25 04:04:43 +00:00
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
Spacemacs currently requires manual updates using the following procedure:
|
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
|
|
|
|
|
git submodule sync; git submodule update
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. Restart Emacs to complete the upgrade.
|
2014-11-25 04:04:43 +00:00
|
|
|
|
|
2015-01-08 05:34:23 +00:00
|
|
|
|
## Update notification
|
|
|
|
|
|
|
|
|
|
For convenience an indicator is displayed in the mode-line whenever a new
|
|
|
|
|
version of `Spacemacs` is available.
|
|
|
|
|
|
|
|
|
|
Symbol | Description
|
|
|
|
|
:------------------------------------:|----------------------------------
|
2015-03-10 01:50:41 +00:00
|
|
|
|
![git-new](doc/img/update-green.png) | < 3 releases behind
|
|
|
|
|
![git-del](doc/img/update-orange.png) | < 5 releases behind
|
|
|
|
|
![git-mod](doc/img/update-red.png) | >= 5 releases behind
|
2015-01-08 05:34:23 +00:00
|
|
|
|
|
|
|
|
|
**Note:**
|
2015-03-10 01:50:41 +00:00
|
|
|
|
A feature allowing update by merely clicking on the indicator will be implemented _soon_!
|
2015-01-08 05:34:23 +00:00
|
|
|
|
|
2015-02-04 05:44:03 +00:00
|
|
|
|
## Rollback
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Should anything go wrong during an update, you can rollback ELPA packages to a
|
|
|
|
|
previous version. Click (press `RET`) on the `[Rollback]` link of the startup
|
|
|
|
|
page, choose a rollback slot.
|
2015-02-04 05:44:03 +00:00
|
|
|
|
|
|
|
|
|
Rollback slot names are dates with the following format `YYYY-MM-DD_HH.MM.SS`.
|
|
|
|
|
The date corresponds to the date of an update. The most recent slots are
|
|
|
|
|
listed first.
|
|
|
|
|
|
2014-11-22 05:45:19 +00:00
|
|
|
|
# Configuration
|
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
`Spacemacs` divides its configuration into self-contained units called
|
2015-03-10 01:50:41 +00:00
|
|
|
|
[configuration layers][config]. These layers are stacked on top of each other
|
2015-01-26 04:22:41 +00:00
|
|
|
|
to achieve a custom configuration.
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
`Spacemacs` uses the dotfile `~/.spacemacs` to control which layers to
|
|
|
|
|
load. Within this file you may also generally configure certain features.
|
2014-12-05 07:40:32 +00:00
|
|
|
|
|
2014-11-22 05:45:19 +00:00
|
|
|
|
## Configuration layers
|
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
A configuration layer is a directory containing at least the following files:
|
2014-11-22 05:45:19 +00:00
|
|
|
|
|
2015-01-26 04:22:41 +00:00
|
|
|
|
- `packages.el`: Defines and configures packages to be downloaded from Emacs
|
|
|
|
|
package repositories using `package.el`
|
|
|
|
|
- `extensions.el`: Configures packages which cannot be downloaded with
|
|
|
|
|
`package.el` such as built-in Emacs features and git submodules.
|
2014-12-05 07:40:32 +00:00
|
|
|
|
|
2015-01-26 04:22:41 +00:00
|
|
|
|
If you already have your own `Emacs` configuration you can move it to your
|
|
|
|
|
own layer.
|
2015-03-10 01:50:41 +00:00
|
|
|
|
|
2015-01-26 04:22:41 +00:00
|
|
|
|
The following command creates a layer in the `private` directory:
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2014-12-25 19:45:27 +00:00
|
|
|
|
<SPC> : configuration-layer/create-layer RET
|
2014-11-26 03:28:13 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Any configuration layers you create must be explicitly loaded in `~/.spacemacs`.
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2015-01-26 04:29:27 +00:00
|
|
|
|
**Note:** For your privacy, the contents of the `private` directory are not
|
|
|
|
|
under source control. See the documentation for a discussion on how to
|
|
|
|
|
[manage your private configuration][manage_config].
|
|
|
|
|
|
2014-12-05 07:40:32 +00:00
|
|
|
|
## Dotfile (.spacemacs)
|
2014-11-26 03:28:13 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
As mentioned `.spacemacs` controls which configuration layers to load and
|
|
|
|
|
is also a means to customizing `Spacemacs`.
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2015-01-26 04:22:41 +00:00
|
|
|
|
The following command will create a `.spacemacs` file in your home directory:
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2014-11-22 05:45:19 +00:00
|
|
|
|
<SPC> : dotspacemacs/install RET
|
2014-10-18 01:35:43 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
...to open the installed dotfile:
|
2014-12-06 06:38:49 +00:00
|
|
|
|
|
|
|
|
|
<SPC> f e d
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
...to load some configuration layers using the variable
|
2014-12-05 07:40:32 +00:00
|
|
|
|
`dotspacemacs-configuration-layers`:
|
|
|
|
|
|
2015-01-26 04:22:41 +00:00
|
|
|
|
```elisp
|
2014-12-05 07:40:32 +00:00
|
|
|
|
;; List of configuration layers to load.
|
|
|
|
|
dotspacemacs-configuration-layers '(company-mode smex)
|
|
|
|
|
```
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Some configuration layers support configuration variables to expose granular
|
|
|
|
|
control over layer-specific features, [git layer][] being one such example.
|
|
|
|
|
Variables can be directly set within `dotspacemacs-configuration-layers` like so:
|
2015-01-26 04:22:41 +00:00
|
|
|
|
|
|
|
|
|
```elisp
|
|
|
|
|
;; List of configuration layers to load.
|
|
|
|
|
dotspacemacs-configuration-layers '(company-mode
|
|
|
|
|
(git :variables
|
|
|
|
|
git-magit-status-fullscreen t
|
|
|
|
|
git-enable-github-support t
|
|
|
|
|
git-gutter-use-fringe t)
|
|
|
|
|
smex)
|
|
|
|
|
```
|
|
|
|
|
|
2015-03-03 04:10:45 +00:00
|
|
|
|
At anytime you can apply the changes made to the dotfile _without restarting_
|
|
|
|
|
`Spacemacs` by pressing <kbd>SPC m c c</kbd>.
|
|
|
|
|
|
2015-01-26 04:29:27 +00:00
|
|
|
|
The [comments in this file][dotfile template] contain further information about
|
2015-03-10 01:50:41 +00:00
|
|
|
|
how to customize `Spacemacs`. See the [dotfile configuration][dotfile] section of
|
|
|
|
|
the documentation for more details.
|
2014-10-24 03:12:00 +00:00
|
|
|
|
|
2014-11-24 03:55:35 +00:00
|
|
|
|
# Learning Spacemacs
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
2015-01-02 05:50:03 +00:00
|
|
|
|
## Evil-tutor
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Press <kbd>SPC h T</kbd> to begin an Evil-adapted Vimtutor.
|
2015-01-02 05:50:03 +00:00
|
|
|
|
|
2014-12-06 22:55:20 +00:00
|
|
|
|
## The leader key
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
`Spacemacs` key bindings use a leader key which is by default bound to
|
|
|
|
|
<kbd>SPC</kbd> (space bar).
|
2014-12-06 22:55:20 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
Change it by setting the variable `dotspacemacs-leader-key` in `~/.spacemacs`.
|
2014-12-06 22:55:20 +00:00
|
|
|
|
|
2014-11-28 04:20:57 +00:00
|
|
|
|
## Universal argument
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
In `Spacemacs` the universal argument defaults to `<SPC> u` instead of `C-u`
|
|
|
|
|
because the latter is used to scroll up as in Vim.
|
2014-11-28 04:20:57 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
## Configuration layers and Package discovery
|
2014-12-21 07:58:25 +00:00
|
|
|
|
|
|
|
|
|
By using `helm-spacemacs` with <kbd>SPC f e h</kbd> you can quickly search
|
|
|
|
|
for a package and get the name of the layers using it.
|
|
|
|
|
|
|
|
|
|
You can also easily go to the `README.md` of a layer or go to the initialization
|
|
|
|
|
function of a package.
|
|
|
|
|
|
2014-11-24 03:55:35 +00:00
|
|
|
|
## Key bindings discovery
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
2014-11-24 03:55:35 +00:00
|
|
|
|
Thanks to [guide-key][], whenever a prefix command is pressed (like `<SPC>`)
|
2014-11-24 03:58:24 +00:00
|
|
|
|
a buffer appears after one second listing the possible keys for this prefix.
|
2014-10-31 04:42:04 +00:00
|
|
|
|
|
2014-11-24 03:58:24 +00:00
|
|
|
|
It is also possible to search for specific key bindings by pressing:
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
|
|
|
|
<SPC> ?
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
To narrow the bindings list to those prefixed with `<SPC>`,
|
|
|
|
|
type a pattern like this regular expression:
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
2014-12-06 01:35:39 +00:00
|
|
|
|
SPC\ b
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
which would list all `buffer` related bindings.
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
2014-11-24 03:55:35 +00:00
|
|
|
|
## Describe functions
|
|
|
|
|
|
2014-11-24 03:58:24 +00:00
|
|
|
|
`Describe functions` are powerful Emacs introspection commands to get information
|
2015-03-10 01:50:41 +00:00
|
|
|
|
about functions, variables, modes etc. These commands are bound thusly:
|
2014-10-29 14:02:28 +00:00
|
|
|
|
|
|
|
|
|
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-24 03:55:35 +00:00
|
|
|
|
# Contributions
|
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
`Spacemacs` needs _you_!
|
2014-11-24 03:55:35 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
We especially need to create more configuration layers that, for instance, bring
|
|
|
|
|
support for new languages.
|
2014-11-24 03:55:35 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
If you are ready to contribute please begin by consulting the [contribution guidelines][CONTRIBUTE.md], thanks!
|
2014-11-24 03:55:35 +00:00
|
|
|
|
|
2015-03-13 03:23:10 +00:00
|
|
|
|
# Credits
|
|
|
|
|
|
|
|
|
|
[Spacemacs logo][] by [Nasser Alshammari][]
|
|
|
|
|
released under a Creative Commons license.
|
|
|
|
|
|
2014-12-01 02:17:12 +00:00
|
|
|
|
# FAQ
|
|
|
|
|
|
2015-01-06 23:48:13 +00:00
|
|
|
|
## Common
|
|
|
|
|
|
2015-01-01 07:07:57 +00:00
|
|
|
|
1. **Which version of Spacemacs am I running ?**
|
2015-03-10 01:50:41 +00:00
|
|
|
|
The version is displayed on the upper right corner of the loading screen.
|
|
|
|
|
You may also just type <kbd>SPC f e v</kbd>.
|
2015-01-01 07:07:57 +00:00
|
|
|
|
|
2015-03-10 01:50:41 +00:00
|
|
|
|
2. **Why are packages installed with `package-install` automatically deleted by
|
|
|
|
|
Spacemacs when it boots ?**
|
2014-12-01 02:17:12 +00:00
|
|
|
|
To declare new packages you have to create a new configuration layer, see
|
2015-03-10 01:50:41 +00:00
|
|
|
|
the [quick start guide](#configuration).
|
2014-12-01 02:17:12 +00:00
|
|
|
|
|
2015-01-06 23:48:13 +00:00
|
|
|
|
3. **The Spacemacs banner is ugly, what should I do ?**
|
2015-02-21 07:19:09 +00:00
|
|
|
|
Install the default font supported by Spacemacs or choose a fixed width font.
|
2014-12-14 05:44:11 +00:00
|
|
|
|
More information in the [font section][] of the documentation.
|
|
|
|
|
|
2015-01-27 04:21:05 +00:00
|
|
|
|
4. **The powerline separators are ugly, how can I fix them ?**
|
2015-01-28 05:16:51 +00:00
|
|
|
|
Use the property `:powerline-scale` of the variable
|
2015-03-10 01:50:41 +00:00
|
|
|
|
`dotspacemacs-default-font`. See [font][] documentation for more details.
|
2015-01-27 04:21:05 +00:00
|
|
|
|
|
2015-03-14 02:07:53 +00:00
|
|
|
|
5. **The powerline separators have no anti-aliasing, what can I do ?**
|
|
|
|
|
Emacs powerline uses XMP images to draw the separators in a graphical
|
|
|
|
|
environment. You can have anti-aliasing if you use the `utf8` separator.
|
|
|
|
|
Note that by default the `utf8` separator is used in a terminal.
|
|
|
|
|
See the powerline section in the [documentation][powerline-doc].
|
2014-12-24 05:50:59 +00:00
|
|
|
|
|
2015-01-06 23:48:13 +00:00
|
|
|
|
## Windows
|
|
|
|
|
|
2015-02-21 07:19:09 +00:00
|
|
|
|
1. **Why do the fonts on Windows looks so crappy ?**
|
2015-01-13 16:23:57 +00:00
|
|
|
|
You can install [MacType][] on Windows to get very nice looking fonts. It is
|
2015-02-21 07:19:09 +00:00
|
|
|
|
also recommended to disable smooth scrolling on Windows.
|
2015-01-06 23:48:13 +00:00
|
|
|
|
|
|
|
|
|
2. **How to fix the error: The directory ~/.emacs.d/server is unsafe ?**
|
|
|
|
|
Change the owner of the directory `~/.emacs.d/server`:
|
2015-01-26 05:13:27 +00:00
|
|
|
|
- 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-01-06 23:48:13 +00:00
|
|
|
|
|
|
|
|
|
## OS X
|
|
|
|
|
|
2015-02-21 07:19:09 +00:00
|
|
|
|
1. **Why are the powerline colors not correct on OS X ?**
|
2015-01-06 23:48:13 +00:00
|
|
|
|
This is a [known issue][powerline-srgb-issue] as of Emacs 24.4 due to
|
|
|
|
|
`ns-use-srgb-colorspace` defaulting to true. It is recommended to use
|
|
|
|
|
the [emacs-mac-port][] build. See the [install OSX section][] for more
|
2015-03-10 01:50:41 +00:00
|
|
|
|
details.
|
2015-01-06 23:48:13 +00:00
|
|
|
|
|
2014-11-19 04:47:30 +00:00
|
|
|
|
[Twitter]: http://i.imgur.com/tXSoThF.png
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[philosophy]: doc/DOCUMENTATION.md#philosophy
|
|
|
|
|
[goals]: doc/DOCUMENTATION.md#goals
|
|
|
|
|
[for who?]: doc/DOCUMENTATION.md#who-can-benefit-from-this-
|
|
|
|
|
[screenshots]: doc/DOCUMENTATION.md#screenshots
|
|
|
|
|
[config]: doc/DOCUMENTATION.md#configuration-layers
|
|
|
|
|
[dotfile]: doc/DOCUMENTATION.md#dotfile-configuration
|
|
|
|
|
[manage_config]: doc/DOCUMENTATION.md#managing-private-configuration-layers
|
|
|
|
|
[using_package_buf]: doc/DOCUMENTATION.md#using-the-package-list-buffer
|
|
|
|
|
[achievements]: doc/DOCUMENTATION.md#achievements
|
|
|
|
|
[troubleshoot]: doc/DOCUMENTATION.md#troubleshoot
|
|
|
|
|
[contrib layers]: doc/DOCUMENTATION.md#using-configuration-layers
|
2015-01-24 05:39:36 +00:00
|
|
|
|
[Git support]: contrib/git/README.md
|
2015-01-26 04:22:41 +00:00
|
|
|
|
[git layer]: contrib/git
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[ace-jump]: doc/DOCUMENTATION.md#vim-motions-with-ace-jump-mode
|
|
|
|
|
[project management]: doc/DOCUMENTATION.md#project-management
|
|
|
|
|
[Evil Mode]: doc/DOCUMENTATION.md#evil
|
2015-01-26 04:29:27 +00:00
|
|
|
|
[private]: ./private
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[DOCUMENTATION.md]: doc/DOCUMENTATION.md
|
|
|
|
|
[font section]: doc/DOCUMENTATION.md#font
|
|
|
|
|
[CONTRIBUTE.md]: doc/CONTRIBUTE.md
|
|
|
|
|
[powerline-seps]: doc/DOCUMENTATION.md#powerline-separators
|
2014-12-08 00:41:09 +00:00
|
|
|
|
[FAQ]: https://github.com/syl20bnr/spacemacs#faq
|
2014-12-08 00:53:59 +00:00
|
|
|
|
[dotfile]: https://github.com/syl20bnr/spacemacs#dotfile-spacemacs
|
2015-01-26 04:29:27 +00:00
|
|
|
|
[dotfile template]: ./core/templates/.spacemacs.template
|
2014-12-08 00:53:59 +00:00
|
|
|
|
[install OSX section]: https://github.com/syl20bnr/spacemacs#os-x
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[osx layer]: contrib/osx/README.md
|
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
|
2014-11-22 21:53:38 +00:00
|
|
|
|
[evil-nerd-commenter]: https://github.com/redguardtoo/evil-nerd-commenter
|
|
|
|
|
[Gitter Chat]: https://gitter.im/syl20bnr/spacemacs
|
2014-12-06 06:38:49 +00:00
|
|
|
|
[MacType]: https://code.google.com/p/mactype/
|
2014-12-08 00:53:59 +00:00
|
|
|
|
[emacs-mac-port]: https://github.com/railwaycat/emacs-mac-port
|
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
|
2014-12-08 00:53:59 +00:00
|
|
|
|
[homebrew]: https://github.com/Homebrew/homebrew
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[Elixir]: contrib/lang/erlang-elixir
|
|
|
|
|
[Haskell]: contrib/lang/haskell
|
2015-02-10 04:38:46 +00:00
|
|
|
|
[LaTeX]: contrib/auctex
|
2014-12-24 05:56:25 +00:00
|
|
|
|
[JavaScript]: contrib/lang/javascript
|
|
|
|
|
[Python]: contrib/lang/python
|
|
|
|
|
[R]: contrib/lang/ess
|
|
|
|
|
[Ruby]: contrib/lang/ruby
|
|
|
|
|
[Scala]: contrib/lang/scala
|
|
|
|
|
[Clojure]: contrib/lang/clojure
|
|
|
|
|
[C-C++]: contrib/lang/c-c++
|
2014-12-23 21:27:56 +00:00
|
|
|
|
[powerline-srgb-issue]: https://github.com/milkypostman/powerline/issues/54
|
2015-03-14 02:07:53 +00:00
|
|
|
|
[powerline-doc]: doc/DOCUMENTATION.md#powerline-separators
|
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
|