Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
purcell's emacs configuration plus C/C++ support
branch: master

This branch is 1410 commits behind redguardtoo:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
defuns
elpa/contrib/scripts
scripts
site-lisp
snippets
.gitignore
.viper
README.md
init-ace-jump-mode.el
init-artbollocks-mode.el
init-auto-complete.el
init-bbdb.el
init-better-registers.el
init-cc-mode.el
init-clojure.el
init-cmake-mode.el
init-common-lisp.el
init-compat.el
init-cperl-mode.el
init-crontab.el
init-csharp-mode.el
init-css.el
init-csv.el
init-ctags.el
init-delicious.el
init-dired.el
init-doxygen.el
init-editing-utils.el
init-eim.el
init-elpa.el
init-emacs-w3m.el
init-emacspeak.el
init-emms.el
init-erlang.el
init-evil.el
init-exec-path.el
init-fill-column-indicator.el
init-flymake.el
init-flyspell.el
init-fonts.el
init-frame-hooks.el
init-gist.el
init-git.el
init-gnus.el
init-growl.el
init-gtags.el
init-gui-frames.el
init-haml.el
init-haskell.el
init-helm.el
init-hippie-expand.el
init-ibuffer.el
init-ido.el
init-isearch.el
init-javascript.el
init-keyfreq.el
init-linum-mode.el
init-lisp.el
init-locales.el
init-lua-mode.el
init-markdown.el
init-marmalade.el
init-maxframe.el
init-misc.el
init-mmm.el
init-modeline.el
init-move-window-buffer.el
init-moz.el
init-multiple-cursors.el
init-nxml.el
init-org-mime.el
init-org.el
init-org2blog.el
init-osx-keys.el
init-php.el
init-pomodoro.el
init-proxies.el
init-python-mode.el
init-rails.el
init-rcirc.el
init-recentf.el
init-ruby-mode.el
init-semantic.el
init-sessions.el
init-sh.el
init-site-lisp.el
init-slime.el
init-smarter-compile.el
init-spelling.el
init-sunrise-commander.el
init-term-mode.el
init-textile.el
init-themes.el
init-thing-edit.el
init-twittering-mode.el
init-uml.el
init-undo-tree.el
init-uniquify.el
init-utils.el
init-weibo.el
init-which-func.el
init-windows.el
init-workgroups.el
init-xterm.el
init-yari.el
init-yasnippet.el
init-zencoding-mode.el
init.el

README.md

General

I base my emacs.d on Steve Purcell's emacs.d and synchronize from his once a month.

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 and old ~/.emacs does NOT exist.

Thanks to Purcell, this emacs.d has fancy features for most script languages like Clojure, Python, Lisp, PHP, Javascript, Ruby etc. Purcell is basically a web geek who use all the modern web technologies.

I will support all the languages a desktop developer may use, like C++, Java, Lua, Objective-C etc.

Features

  • git or subversion is NOT needed. I removed all the 'git submodule update' stuff.
  • enhance major/minor modes for C/C++ developers
  • optimized for cross-platform C++ development with CMake and wxWidgets
  • emacs-w3m (console browser)
  • eim (Chinese pinyin input method)
  • org2blog (write wordpress blog with org-mode)
  • make the configuration work under Linux and Cygwin
  • The configuration will work with Emacs version >=23.3.1
  • evil-mode and its plugins (Vim key binding)
  • yasnippet and my customized snippets
  • start up WITHOUT heavy weight plugins (OPTIONAL)

Third party CLI tools Emacs uses

Purcell won't list all the 3rd party tools this configuration dependent on. I will try to list them HERE,

  • w3m (web browser in console)
  • jsl (jslint)
  • aspell, and dictionary (aspell-en, for example)
  • sbcl (lisp environment)
  • tidy (html tidy program)
  • csslint (install node.js, then npm install -g csslint
  • zip and unzip export org to odt
  • clang intellisense of C++ code need clang (http://clang.llvm.org)
  • ctags (http://ctags.sourceforge.net) You use ctags to navigate the code.
  • GNU Global (http://www.gnu.org/software/global) You use this tool to navigate the C/C++/Java/Objective-C code.
  • pyflakes You need pyflakes for real time python syntax check (flymake-python)

Install pip, then pip install pyflakes, but on cygwin you need install setuptool in order to install pip.

  • ditaa, grapviz and planetuml to convert ascii art to diagram and uml.

To install the tools, I suggest using,

  • apt-cyg at Cygwin
  • homebrew at OS X
  • any package manager at Linux

Please note it's totally fine you don't install these CLI tools. Emacs won't crash. ;)

Report bug

If you find any bug, please file an issue on the github project: https://github.com/redguardtoo/emacs.d

Tips

  • by default EVIL (Vim emulation in Emacs) is used. You can comment out line containing "(require 'init-evil)" in init.el to unload it.
  • Some package cannot be downloaded automatically because of network problem. You need manually M-x list-packages and install it.
  • I downgraded the yasnippet to an older version because latest yasnippet is not compatible with auto-complete.
  • You can speed up the start up by NOT loading some heavy weight components like evil or yasnippet. All you need to do is add below code into ~/.bashrc: sh alias e=emacs -q --no-splash --eval="(setq light-weight-emacs t)" -l "$HOME/.emacs.d/init.el"

My personal custom.el

It's publicized at http://blog.binchen.org/?p=430 .


Something went wrong with that request. Please try again.