Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An Emacs configuration bundle with batteries included
branch: master

This branch is 370 commits behind purcell:master

Failed to load latest commit information.
site-lisp Drop the html5 relaxng schemas
.gitignore Ignore ~/.emacs.d/var, which may be created by pcache via gh-gist
.viper Move .viper to .emacs.d directory
README.md Remove reference to git submodules in README
init-auto-complete.el Remove C-n and C-p bindings for auto-complete: M-n and M-p are more s…
init-benchmarking.el Record time taken for each require
init-clojure.el Introduce and use the after-load macro
init-common-lisp.el Introduce and use the after-load macro
init-compat.el Decide at compile time whether to patch certain functions
init-crontab.el
init-css.el Introduce and use the after-load macro
init-csv.el Remove redundant autoload for csv-nav-mode (fixed upstream)
init-darcs.el Move 'require-package calls next to the related setup code
init-dired.el Introduce and use the after-load macro
init-editing-utils.el Add and use highlight-escape-sequences
init-elpa.el
init-erlang.el
init-exec-path.el Introduce and use the after-load macro
init-flymake.el
init-flyspell.el Introduce and use the after-load macro
init-fonts.el Namespace functions in init-fonts.el
init-frame-hooks.el Improve docstring
init-git.el Introduce and use the after-load macro
init-growl.el Don't disable todochiku if todochiku-command is not a full path
init-gui-frames.el Set longer frame-title-format now that OSX icon bug appears fixed
init-haml.el Move 'require-package calls next to the related setup code
init-haskell.el
init-hippie-expand.el Extract remaining config blocks in init.el into separate init files b…
init-ibuffer.el Introduce and use the after-load macro
init-ido.el Reorganise init-ido.el
init-isearch.el Use now-standard 'isearch-occur in place of hand-rolled code
init-javascript.el
init-lisp.el Introduce and use the after-load macro
init-locales.el Don't set selection-coding-system on windows
init-markdown.el
init-marmalade.el Make submit-to-marmalade work better
init-maxframe.el Introduce and use the after-load macro
init-misc.el Consolidate sql config
init-mmm.el Move 'require-package calls next to the related setup code
init-nxml.el Move 'require-package calls next to the related setup code
init-org.el Introduce and use the after-load macro
init-osx-keys.el Introduce and use the after-load macro
init-paredit.el Introduce and use the after-load macro
init-php.el Move 'require-package calls next to the related setup code
init-proxies.el Add (and use) a new string-rtrim function
init-python-mode.el Remove defunct autoload for doctest-mode
init-rails.el Introduce and use the after-load macro
init-recentf.el Bump recentf-max-saved-items up to 1000
init-ruby-mode.el Introduce and use the after-load macro
init-sessions.el Record and print the time taken to restore the desktop
init-sh.el Move 'require-package calls next to the related setup code
init-site-lisp.el Use user-emacs-directory var in place of "~/.emacs.d"
init-slime.el Introduce and use the after-load macro
init-spelling.el Don't require that aspell support the "--sug-mode=ultra" option
init-sql.el Introduce and use the after-load macro
init-textile.el Move 'require-package calls next to the related setup code
init-themes.el
init-uniquify.el Extract remaining config blocks in init.el into separate init files b…
init-utils.el Introduce and use the after-load macro
init-windows.el
init-xterm.el Handle console-only Emacs builds, which lack mwheel-install
init.el Record time taken for each require

README.md

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 and slime)
  • Javascript / Coffeescript
  • Python
  • PHP
  • Haskell
  • Erlang
  • Common Lisp

In particular, there's a nice config for tab autocompletion, and flymake is used to immediately highlight syntax errors in Ruby, HAML, Python, Javascript, PHP and some other languages.

Requirements

  • Emacs 23 or greater (note that Emacs 24 is required for some functionality)

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. Upon starting up Emacs for the first time, further third-party packages will be automatically downloaded and installed.

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


Something went wrong with that request. Please try again.