Slide 1

Slide 1 text

Emacs Björn Andersson

Slide 2

Slide 2 text

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.