An ever-changing set of emacs settings. Micro-optimizations are super fun. These are used in the Emacs Rocks screencasts.
To grab all the dependencies, either:
git clone git://github.com/magnars/.emacs.d.git
cd .emacs.d
git submodule init
git submodule update
or on git v1.6.5 or later:
git clone --recursive git://github.com/magnars/.emacs.d.git
I don't keep magit in my .emacs.d. To install magit, do
M-x package-list-packages
Search for magit
and install it there.
The same is true for clojure-mode
and clojure-test-mode
. I haven't
been able to set it up properly for testing, but installing it through
the package system gets it right.
I use Cocoa Emacs, installed like this:
brew install emacs --cocoa --use-git-head --HEAD
To open it with Alfred or Quicksilver, you have to copy Emacs.app
into
/Applications
instead of the symlink that brew places there.
If you want to use my settings straight out of the box, here are some things to note:
-
The key bindings are optimized for a norwegian keyboard layout.
-
Start by reading up on all the cool stuff in key-bindings.el.
-
You quit emacs with
C-x r q
, mnemonic Really Quit. -
Find file in project with
C-x o
, in dir withC-x C-f
, recent withC-x f
-
Add your user- and project-specific stuff in .emacs.d/users/[machine name]/*.el
-
C-h
is rebound to backspace, like in the shell. Get help onF1
instead. -
Autocomplete with
C-.
-
expand-region is your friend. Find its bound key by doing
F1 f er/expand-region
-
annoying-arrows suggests alternative ways of moving around if you use the arrow keys excessively.
-
Undo with
C-_
and redo withM-_
. Watch the undo-tree withC-x u
-
Easily add functions to the F-keys with
M-: (f5 <sexps here>)
, example(f5 (flush-lines "console.log"))
-
Quickly jump anywhere in the buffer by pressing
fn
plus the starting letter of a word. -
Indent and clean up white space in the entire buffer with
C-c n
-
On a mac, the Meta key
M
is bound to Command. -
I recommend rebinding Caps Lock to Ctrl and use that instead of the often badly placed Ctrl-key.
-
Watch emacsrocks.com
When you start using emacs for the first time, your habits fight you every inch of the way. Your fingers long for the good old familiar keybindings. Here's an overview of the most commonly used shortcuts to get you through this pain:
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 directoryC-x f
Open a recently visited fileC-x o
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 killsC-@
Mark stuff quickly. Press multiple times
C-g
Quit out of whatever mess you've gotten yourself intoM-x
Run a command by nameC-.
AutocompleteC-_
UndoM-_
RedoC-x u
Show the undo-treeC-x m
Open magit. It's a magical git interface for emacs
C-arrow
Move past words/paragraphsC-a
Go to start of lineC-e
Go to end of lineM-i
Go to indentationM-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/down
F1 t
Basic tutorialF1 k
Help for a keybindingF1 r
Emacs' extensive documentation