I use Emacs, which
might be thought of as
a thermonuclear word
processor.
— Neal Stephenson
Slide 3
Slide 3 text
Emacs is a great
operating system,
lacking only a decent editor
— Vile VI Virtuoso
Slide 4
Slide 4 text
Genesis
Slide 5
Slide 5 text
Genesis
• Began in the ‘70s
Slide 6
Slide 6 text
Genesis
• Began in the ‘70s
• Editor MACroS for TECO
Slide 7
Slide 7 text
Genesis
• Began in the ‘70s
• Editor
• MIT AI Labs
Slide 8
Slide 8 text
Genesis
• Began in the ‘70s
• Editor
• MIT AI Labs
• Current C version from the ‘80s
Slide 9
Slide 9 text
Genesis
• Began in the ‘70s
• Editor
• MIT AI Labs
• Current C version from the ‘80s
• First project from GNU
Slide 10
Slide 10 text
So what is so special?
Slide 11
Slide 11 text
So what is so special?
• Extensible using Lisp (elisp)
Slide 12
Slide 12 text
So what is so special?
• Extensible using
• Everything is a function call
Slide 13
Slide 13 text
So what is so special?
• Extensible using
• Everything
• Self documenting
Slide 14
Slide 14 text
Buffers, Frames and Windows
Slide 15
Slide 15 text
Buffers, Frames and Windows
• Buffer is an open file
Slide 16
Slide 16 text
Buffers, Frames and Windows
• Buffer
• Frame is what we today call a window
Slide 17
Slide 17 text
Buffers, Frames and Windows
• Buffer
• Frame
• Window is a screen/view inside a frame
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Point, Mark and Regions
Slide 20
Slide 20 text
Point, Mark and Regions
• Point is the current position of the cursor
Slide 21
Slide 21 text
Point, Mark and Regions
• Point
• Mark is a place you set yourself
Slide 22
Slide 22 text
Point, Mark and Regions
• Point
• Mark
• Region is the area between mark and point
Slide 23
Slide 23 text
Kill and Yank
Slide 24
Slide 24 text
Kill and Yank
• Kill is cut
Slide 25
Slide 25 text
Kill and Yank
• Kill
• Yank pulls back something to the buffer
Slide 26
Slide 26 text
Movement
Slide 27
Slide 27 text
Movement
• f - forward
Slide 28
Slide 28 text
Movement
• f - forward
• b - backward
Slide 29
Slide 29 text
Movement
• f - forward
• b - backward
• p - previous
Slide 30
Slide 30 text
Movement
• f - forward
• b - backward
• p - previous
• n - next
Slide 31
Slide 31 text
Movement
• f - forward
• b - backward
• p - previous
• n - next
• a - beginning
Slide 32
Slide 32 text
Movement
• f - forward
• b - backward
• p - previous
• n - next
• a - beginning
• e - end
Slide 33
Slide 33 text
Movement
• f - forward
• b - backward
• p - previous
• n - next
• a - beginning
• e - end
• CTRL - one character
Slide 34
Slide 34 text
Movement
• f - forward
• b - backward
• p - previous
• n - next
• a - beginning
• e - end
• CTRL - one character
• Meta / Alt - one word
Slide 35
Slide 35 text
Keyboard combos
Slide 36
Slide 36 text
Keyboard combos
• C - Ctrl
Slide 37
Slide 37 text
Keyboard combos
• C
• M - Meta/Alt
Slide 38
Slide 38 text
Keyboard combos
• C
• M
• S - Shift
Slide 39
Slide 39 text
Keyboard combos
• C
• M
• S - Shift
• C-c C-f open file
Slide 40
Slide 40 text
Incremental search
Slide 41
Slide 41 text
Incremental search
• When you’re looking for something, search
Slide 42
Slide 42 text
Incremental search
• When you’re looking for something, search
• Movement commands are for when searching isn’t
viable
Slide 43
Slide 43 text
Incremental search
• When you’re looking for something, search
• Movement commands are for when searching isn’t
viable
• No side effects
Slide 44
Slide 44 text
Built-in help
Slide 45
Slide 45 text
Built-in help
• C-h ? Is where to get started
Slide 46
Slide 46 text
Built-in help
• C-h ?
• C-h m Shows an explanation of the current mode
Slide 47
Slide 47 text
Built-in help
• C-h ?
• C-h m
• C-h c Shows what a keyboard combo calls
Slide 48
Slide 48 text
C-h ?
Slide 49
Slide 49 text
You don’t quit Emacs
Slide 50
Slide 50 text
You don’t quit Emacs
it quits on you, usually through OSX.
Slide 51
Slide 51 text
Package management
Slide 52
Slide 52 text
Package management
• Built-in since version 24
Slide 53
Slide 53 text
Package management
• Built-in since version 24
• A couple of different repositories
Slide 54
Slide 54 text
Package management
• Built-in since version 24
• A couple of different repositories
• ELPA - The one sanctioned by FSF
Slide 55
Slide 55 text
Package management
• Built-in since version 24
• A couple of different repositories
• ELPA
• MELPA - A curated repository, less buggy packages
Slide 56
Slide 56 text
Package management
• Built-in since version 24
• A couple of different repositories
• ELPA
• MELPA
• Marmalade - Anyone can add
Slide 57
Slide 57 text
M-x list-packages
Slide 58
Slide 58 text
Where do I start?
Slide 59
Slide 59 text
Where do I start?
• Use someones config
Slide 60
Slide 60 text
Where do I start?
• Use someones config
• Neo emacs-config looks pretty good
github.com/neo/emacs-config
Slide 61
Slide 61 text
Where do I start?
• Use someones config
• Neo emacs-config looks pretty good
github.com/neo/emacs-config
• Jason Milkins github.com/ocodo/emacs.d
Slide 62
Slide 62 text
Where do I start?
• Use someones config
• Neo emacs-config looks pretty good
github.com/neo/emacs-config
• Jason Milkins
• My config github.com/gaqzi/emacs.d
Slide 63
Slide 63 text
Where do I start?
• Use someones config
• Neo emacs-config looks pretty good
github.com/neo/emacs-config
• Jason Milkins
• My config
• C-h t To start and go through the tutorial
Slide 64
Slide 64 text
Where do I start?
• Use someones config
• Neo emacs-config looks pretty good
github.com/neo/emacs-config
• Jason Milkins
• My config
• C-h t
Slide 65
Slide 65 text
Lets all give praise
to St. IGNUCius
Slide 66
Slide 66 text
Lets all give praise
to St. IGNUCius
Using the editor of the beast is not a sin
in the church of Emacs.
Slide 67
Slide 67 text
Lets all give praise
to St. IGNUCius
Using the editor of the beast is not a sin
in the church of Emacs.
Slide 68
Slide 68 text
Lets all give praise
to St. IGNUCius
Using the editor of the beast is not a sin
in the church of Emacs.
It’s a penance.