A reasonable Emacs config
This is my emacs configuration tree, continually used and tweaked since 2000, and it may be a good starting point for other Emacs users, especially those who are web developers. These days it's somewhat geared towards OS X, but it is known to also work on Linux and Windows.
Emacs itself comes with support for many programming languages. This config adds improved defaults and extended support for the following:
- Ruby / Ruby on Rails
- CSS / LESS / SASS / SCSS
- HAML / Markdown / Textile / ERB
- Clojure (via nrepl)
- Javascript / Coffeescript
- Python
- PHP
- Haskell
- Erlang
- Common Lisp (with Slime)
In particular, there's a nice config for tab autocompletion, and flycheck is used to immediately highlight syntax errors in Ruby, HAML, Python, Javascript, PHP and a number of other languages.
Requirements
- Emacs 23 or greater (note that Emacs 24 is required for some functionality, and will likely become the minimum required version some time soon.)
Installation
To install, clone this repo to ~/.emacs.d
, i.e. ensure that the
init.el
contained in this repo ends up at ~/.emacs.d/init.el
:
git clone https://github.com/purcell/emacs.d.git ~/.emacs.d
Upon starting up Emacs for the first time, further third-party packages will be automatically downloaded and installed.
Updates
Update the config with git pull
. You'll probably also want/need to update
the third-party packages regularly too:
M-x package-list-packages, then U followed by x.
Adding your own customization
To add your own customization, use M-x customize and/or
create a file ~/.emacs.d/lisp/init-local.el
which looks like this:
... your code here ...
(provide 'init-local)
Alternatively, fork the repo and hack away at the config to make it your own!
Similar configs
You might also want to check out emacs-starter-kit
and emacs-prelude
.
Support / issues
If you hit any problems, please file an issue on the github project
-Steve Purcell