An opinionated Emacs configuration based on [el-get], [Prelude], [Emacs Rocks] and some personal flavor
This configuration is only compatible with GNU Emacs 24.x (24.3 recommended).
Clone the repository and link it to the .emacs.d
folder.
$ ln -s $REPO ~/.emacs.d
The biggest challenge with Emacs configuration is code organization.
[Prelude] has made a big effort in the horizontal direction while
[el-get] offers an easy way to setup external packages which are usualy
more vertical. Preamble offers a opionated compromise integration between
both.
[el-get] organize all the specific customization of each packages in the
~/.emacs.d/packages.d/
directory within the corresponding init-<package>.el
file.
[Preamble] mimic [Prelude] in organizing functionalities in modules.
Other non-custom-mode specific customization are organized as follow:
defaults.el
for classical general customizationvisual.el
for everything related to frames and visual buffer interactionkey-bindings.el
for customized key-bindings except for external packagesmac.el
for Mac OS X specific customization
The programming environment is optimized for Python, Javascript, CoffeScript, HTML, CSS.
C
Shorthand for the ctrl-keyM
Shorthand for the meta-key (bound to cmd on my mac settings)S
Shorthand for the shift-key
C-x C-f
Open a file. Starts in the current directory. You can useC-SPC
orC-@
to save your current set of match and plug in more criteria.C-x f
Open a recently visited fileC-x p
Open a file in the current project (based on .git ++)C-x C-s
Save this fileC-x C-w
Save as ...C-x C-j
Jump to this files current directoryC-x b
Switch to another open file (buffer)C-x C-b
List all open files (buffers)
C-space
Start marking stuff. C-g to cancel.C-w
Cut (aka kill)C-k
Cut till end of lineM-w
CopyC-y
Paste (aka yank)M-y
Cycle last paste through previous killsC-x C-y
Choose what to paste from previous kills
C-g
Quit out of whatever mess you've gotten yourself intoM-x
Run a command by nameC-_
UndoM-_
RedoC-x u
Show the undo-treeC-x g
Open magit. It's a magical git interface for emacsC-x C-h
Open helm-miniC-;
Toggle iedit-mode to edit all the occurences of a region
C-arrow
Move past words/paragraphsC-a
Go to indentation, then start of lineC-e
Go to end of lineM-g M-g
Go to line numberC-x C-i
Go to symbolC-s
Search forward. PressC-s
again to go further.C-r
Search backward. PressC-r
again to go further.
C-x 0
Close this windowC-x 1
Close other windowsC-x 2
Split window horizontallyC-x 3
Split window verticallyS-arrow
Jump to window to the left/right/up/downM-arrow
Jump to window to the left/right/up/downC-c b
Create a scratch buffer to play inside
C-c t
Call a terminal session or join existing oneC-c n
Jump to next terminalC-c p
Jump to previous terminalF8
Open a terminal on the bottom of the buffer
C-x C-h
helm-miniC-c h
helm-mini projectile
Instead of a long list of Major and Minor modes that are active, we use greek and russian symbols representing those modes. Capital letters are used for major modes.
- Λ Clojure mode
- τ undo-tree
- γ yas
- υ volatile highlights
- ηζ nREPL minor mode
- α auto-complete
- φ paredit
- ιρις rainbow mode
- Π Python mode
- п Projectile mode
- Мд Markdown mode
- ел emacs lisp mode
- р ropemacs mode
- Коф coffee-mode
- Лес less-css mode
This repository is an emacs settings heavily relying on the new Emacs 24 features and the el-get alternative package manager.
Other indirect contributors include:
- Emacs Rocks from @magnars
- Prelude from @bbatsov