Emacs

The all-in one editor

For everything related to code and writting in general, GNU/Emacs is really my prefered tool. Sure enough, it requires a little time and effort to get accustomed to it, but it's well worth it...

Logo Emacs (CarbonEmacs)

Downloading

Since 2010, I've been participating in the development effort on Emacs-Starter-Kit. My configuration are "adapted" to this kit's structure and all files are available on github.

An interesting feature for the curious ones: the structure of the Emacs-Starter-Kit makes it easier to understand how the configuration works. What's more it's not as slow to load as one might think and certainly quicker that the average bunch of hand-made configurations.

Overview of features

Generic settings (display, spelling, completion...)

  • autofill to get the very classifical 80 column limit  (ok it might look vintage but I like that)
  • auto-completion with a mix of auto-complete, ya/snippet and of course dabbrev

LaTeX

  • the compulsory full configuration of AUCTeX/RefTeX.
  • automatic convertion of accentuated characters ([C-c a] <-> [C-c z] ) between their "natural" form and their LaTeX "portable" representations (ie. é <-> \'e)

C,C++, Java

  • various configurations for indentation
  • activation of several useful modes like hungry delete (erasing a bunch of spaces in one stroke) and the electric mode reacting to certain characters like {, }, (, ), <, : etc.
  • jump between header and source files via [C-c o]
  • also a lighter ((lighter to make it work under Windows without pain)) version of doxymacs to help write Doxygen documentation

Python

  • flymake configuration to check a file's code on the fly, using pyflake
  • a modified version of doxymacs that makes it easy to embed Doxygen documentation as comments in Python code.

Some external resources

  • Emacs : the official website
  • EmacsWiki : several examples and explanations a very good resource indeed
  • Carbon Emacs : a specific version for MaxOSX (with a somehow polished UI and very good intergration)