This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/README.md
2015-09-23 23:31:40 -04:00

276 lines
9.3 KiB
Markdown

<a name="top"></a>
[![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)
***
<p align="center"><img src="/doc/img/title2.png" alt="Spacemacs"/></p>
<p align="center">
<b><a href="doc/DOCUMENTATION.org#core-pillars">philosophy</a></b>
|
<b><a href="doc/DOCUMENTATION.org#goals">goals</a></b>
|
<b><a href="doc/DOCUMENTATION.org#user-content-who-can-benefit-from-this">for whom?</a></b>
|
<b><a href="doc/DOCUMENTATION.org#screenshots">screenshots</a></b>
|
<b><a href="doc/DOCUMENTATION.org">documentation</a></b>
|
<b><a href="doc/CONTRIBUTE.org">contribute</a></b>
|
<b><a href="doc/DOCUMENTATION.org#achievements">achievements</a></b>
|
<b><a href="#faq">FAQ</a></b>
</p>
***
**Quick Install:**
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
**Table of Contents**
- [Introduction](#introduction)
- [Features](#features)
- [Documentation](#documentation)
- [Getting Help](#getting-help)
- [Prerequisites](#prerequisites)
- [Emacs](#emacs)
- [Linux distros](#linux-distros)
- [OS X](#os-x)
- [Windows](#windows)
- [Install](#install)
- [Spacemacs logo](#spacemacs-logo)
- [Update](#update)
- [Automatic update](#automatic-update)
- [On develop branch](#on-develop-branch)
- [Contributions](#contributions)
- [License](#license)
- [Supporting Spacemacs](#supporting-spacemacs)
<!-- markdown-toc end -->
# Introduction
Spacemacs is a proposition of a complete new experience for Emacs focused
on ergonomics, mnemonics and consistency.
Clone it, launch it then press the space bar and let you guided by the built-in
interactive list of key-bindings. You can also press the `[?]` button on the
home buffer for the first essential key bindings to know.
Spacemacs can be used by Emacs or Vim users flawlessly, it is even possible
to mix the two styles. You can switch between any style at any moment which
make it a very good tool for pair-programming.
Spacemacs is currently in beta, and contributions are very welcome.
# Features
- **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].
# Documentation
A comprehensive documentation is available for each layer by pressing
<kbd>SPC f e h</kbd>.
To go to the general documentation [click here][DOCUMENTATION.org].
You can also check the [Quick Start guide][QUICK_START.org] and the
[FAQ][FAQ.org].
# Getting Help
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
`#syl20bnr/spacemacs` channel.
# Prerequisites
## Emacs
`Spacemacs` is operational with Emacs 24.3 but Emacs 24.4 and above are
recommended to enjoy the full experience.
Some modes require third-party tools that you'll have to install via your
favorite package manager.
### Linux distros
Install Emacs from the package manager of your Linux distribution.
### OS X
We recommend the homebrew [emacs-mac-port][] formula:
```sh
$ brew tap railwaycat/emacsmacport
$ brew install emacs-mac --with-spacemacs-icon # OR, brew cask install emacs-mac
```
It is also recommended to add the [osx layer][] to your [dotfile][]:
```elisp
(setq-default dotspacemacs-configuration-layers '(osx))
```
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].
### Windows
Good quality builds can be found [on this page][emacs-for-windows]. It is
recommended to install the most stable build.
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.
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]
For efficient searches we recommend to install `pt` ([the platinum searcher][]).
`pt` version 1.7.7 or higher is required.
# Install
1. If you have an existing Emacs configuration, back it up first:
```sh
cd ~
mv .emacs.d .emacs.bak
```
2. Clone the repository:
```sh
git clone --recursive 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
manually.
3. Launch Emacs. Spacemacs will automatically install the packages it requires.
4. Restart Emacs to complete the installation.
If the mode-line turns red then be sure to visit the
[troubleshooting][troubleshoot] guide and consult the [FAQ](#faq).
## Spacemacs logo
If you are using Ubuntu and Unity then you can add the Spacemacs logo by
following the instructions [here][cpaulik-unity-icon].
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].
# Update
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
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 that your
current version is older.
[[file:doc/img/powerline-update.png]]
Click on the arrow to update Spacemacs to the last version.
## On develop branch
1. Update Emacs packages by clicking (press `RET`) on the `[Update]` link of
the starting page.
2. Close Emacs and update the git repository:
```sh
git pull --rebase
```
3. Restart Emacs to complete the upgrade.
# Contributions
`Spacemacs` is a community-driven project, it needs _you_ to keep it up to
date and propose useful and complete configuration!
Before contributing be sure to consult the
[contribution guidelines][CONTRIBUTE.org] and [conventions][CONVENTIONS.org].
# License
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.
[Spacemacs logo][] by [Nasser Alshammari][] released under a Creative Commons
license.
# 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 !
[Twitter]: http://i.imgur.com/tXSoThF.png
[CONTRIBUTE.org]: doc/CONTRIBUTE.org
[CONVENTIONS.org]: doc/CONVENTIONS.org
[DOCUMENTATION.org]: doc/DOCUMENTATION.org
[QUICK_START.org]: doc/QUICK_START.org
[FAQ.org]: doc/FAQ.org
[HOWTOs.org]: doc/HOWTOs.org
[VIMUSERS.org]: doc/VIMUSERS.org
[dotfile]: doc/DOCUMENTATION.org#dotfile-configuration
[troubleshoot]: doc/DOCUMENTATION.org#troubleshoot
[osx layer]: contrib/osx/README.org
[Gitter Chat]: https://gitter.im/syl20bnr/spacemacs
[Gitter Chat IRC server]: https://irc.gitter.im/
[emacs-mac-port]: https://github.com/railwaycat/homebrew-emacsmacport
[emacs-mac-port-server]: https://github.com/railwaycat/emacs-mac-port/blob/master/README-mac#L210-L213
[emacs-for-windows]: http://emacsbinw64.sourceforge.net/
[the platinum searcher]: https://github.com/monochromegane/the_platinum_searcher
[so-server-unsafe]: http://stackoverflow.com/questions/885793/emacs-error-when-calling-server-start
[Spacemacs logo]: https://github.com/nashamri/spacemacs-logo
[Nasser Alshammari]: https://github.com/nashamri
[cpaulik-unity-icon]: http://splendidabacus.com/posts/2015/03/spacemacs-unity-icon/
[icon-mac-instructions]: http://www.idownloadblog.com/2014/07/16/how-to-change-app-icon-mac/
[icon-repository]: https://github.com/nashamri/spacemacs-logo