An Emacs configuration bundle with batteries included
Switch branches/tags
Nothing to show
Pull request Compare This branch is 870 commits behind purcell:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
site-lisp Drop the html5 relaxng schemas Feb 26, 2013
.gitignore Save executed sqli commands between sessions by default Jun 21, 2013
.viper Move .viper to .emacs.d directory Oct 23, 2008
README.md Remove reference to git submodules in README Jun 5, 2013
init-auto-complete.el Remove C-n and C-p bindings for auto-complete: M-n and M-p are more s… May 15, 2013
init-benchmarking.el Record time taken for each require Apr 25, 2013
init-clojure.el Revert "Replace paredit + paredit-everywhere with smartparens" Jul 3, 2013
init-common-lisp.el Introduce and use the after-load macro May 27, 2013
init-compat.el Decide at compile time whether to patch certain functions Apr 23, 2013
init-crontab.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-css.el Switch from flymake to flycheck Jul 5, 2013
init-csv.el Remove redundant autoload for csv-nav-mode (fixed upstream) Apr 9, 2013
init-darcs.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-dired.el Introduce and use the after-load macro May 27, 2013
init-editing-utils.el On OS X, make "mdfind" the default locate-command Jul 6, 2013
init-elpa.el Don't bother pinning version of eieio package Jun 27, 2013
init-erlang.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-exec-path.el Introduce and use the after-load macro May 27, 2013
init-flycheck.el Skip flycheck on Emacs 23 Jul 8, 2013
init-flyspell.el Introduce and use the after-load macro May 27, 2013
init-fonts.el Namespace functions in init-fonts.el Apr 17, 2013
init-frame-hooks.el Improve docstring Feb 7, 2013
init-git.el Add and enable git-messenger package Jun 11, 2013
init-growl.el Don't disable todochiku if todochiku-command is not a full path May 25, 2013
init-gui-frames.el Use toggle-frame-fullscreen, not ns-toggle-fullscreen Jul 5, 2013
init-haml.el Switch from flymake to flycheck Jul 5, 2013
init-haskell.el Switch from flymake to flycheck Jul 5, 2013
init-hippie-expand.el Extract remaining config blocks in init.el into separate init files b… Feb 20, 2010
init-ibuffer.el Introduce and use the after-load macro May 27, 2013
init-ido.el Reorganise init-ido.el Apr 30, 2013
init-isearch.el Use now-standard 'isearch-occur in place of hand-rolled code Jan 11, 2012
init-javascript.el Switch from flymake to flycheck Jul 5, 2013
init-lisp.el Switch from flymake to flycheck Jul 5, 2013
init-locales.el Replace an flet with cl-flet Jun 22, 2013
init-markdown.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-marmalade.el Make submit-to-marmalade work better Apr 5, 2013
init-maxframe.el Introduce and use the after-load macro May 27, 2013
init-misc.el Consolidate sql config Apr 17, 2013
init-mmm.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-nxml.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-org.el Introduce and use the after-load macro May 27, 2013
init-osx-keys.el Introduce and use the after-load macro May 27, 2013
init-paredit.el Revert "Replace paredit + paredit-everywhere with smartparens" Jul 3, 2013
init-php.el Switch from flymake to flycheck Jul 5, 2013
init-proxies.el Add (and use) a new string-rtrim function Nov 2, 2011
init-python-mode.el Switch from flymake to flycheck Jul 5, 2013
init-rails.el Introduce and use the after-load macro May 27, 2013
init-recentf.el Bump recentf-max-saved-items up to 1000 Sep 6, 2012
init-ruby-mode.el Switch from flymake to flycheck Jul 5, 2013
init-sessions.el Use frame-restore Jul 8, 2013
init-site-lisp.el Use user-emacs-directory var in place of "~/.emacs.d" Apr 23, 2013
init-slime.el Revert "Replace paredit + paredit-everywhere with smartparens" Jul 3, 2013
init-spelling.el Don't require that aspell support the "--sug-mode=ultra" option Mar 15, 2013
init-sql.el Save executed sqli commands between sessions by default Jun 21, 2013
init-textile.el Move 'require-package calls next to the related setup code Mar 4, 2013
init-themes.el Simplify light and dark theme functions following upstream changes Apr 17, 2013
init-uniquify.el Extract remaining config blocks in init.el into separate init files b… Feb 20, 2010
init-utils.el Introduce and use the after-load macro May 27, 2013
init-windows.el A couple of handy keys for buffer navigation Jul 2, 2013
init-xterm.el Handle console-only Emacs builds, which lack mwheel-install Apr 13, 2013
init.el Switch from flymake to flycheck Jul 5, 2013

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