Slide 1

Slide 1 text

Pimp my Emacs Presented by @katychuang

Slide 2

Slide 2 text

#haskellworkshop @HaskellWorkshop Haskell-Workshop http://haskell-workshop.github.com

Slide 3

Slide 3 text

Started from the bottom now we’re here. Shopping for a new editor this year. Much sublime, wow, very design! No integration? I resign. Emacs is divine? Let’s make shine! Quick Rap

Slide 4

Slide 4 text

Haskell Workshop Today’s Topics: ➢ Why emacs? ➢ Intro ➢ Installation & set up ➢ Keyboard Bindings ➢ Customizations ➢ Installing modes

Slide 5

Slide 5 text

Why emacs?

Slide 6

Slide 6 text

Why emacs? ➢ Indent with ease ➢ Multiple buffers ➢ Smooth workflow ➢ Customization encouraged

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

You are not alone. Where to go for help.. see next slide

Slide 9

Slide 9 text

http://www.emacswiki.org http://www.emacswiki.org/emacs/EmacsMailingLists http://emacsrocks.com/ Emacs Conference http://www.youtube.com/playlist? list=PL4th0AZixyRE9bb8OevAb7I8RuaWJQWnO Community Resources #emacs on irc @EmacsRocks @EmacsConf

Slide 10

Slide 10 text

Change your key bindings

Slide 11

Slide 11 text

Control Key C- Meta Key M-

Slide 12

Slide 12 text

Common meta key bindings You can customize however you want

Slide 13

Slide 13 text

http://emacsformacosx.com/ Recommended

Slide 14

Slide 14 text

Installing with brew $ brew install emacs $ ln -s /usr/local/Cellar/emacs/24.3/ Emacs.app/Applications $ emacs you might have older version, $ sudo rm /usr/bin/emacs $ sudo rm -rf /usr/share/emacs http://wikemacs.org/index.php/Installing_Emacs_on_OS_X (Text version, you might not like it.)

Slide 15

Slide 15 text

How to read key bindings C-x C-f Ctrl + x hold control f C-b b Ctrl + b release b

Slide 16

Slide 16 text

Accessing Tutorial C-h t release

Slide 17

Slide 17 text

C-x C-f open file C-x C-s save C-x C-w cut C-y paste C-/ undo C-x C-c quit editor Editing Commands C-b move 1 letter back M-b move 1 word back ← back → forward next prev C-a move 1 sentence ← a beginning → end C-v move 1 page M-< move to first letter M-> move to last letter

Slide 18

Slide 18 text

Buffer commands C-x 2 Split vertical C-x b Switch buffer C-x 0 Close this C-x 1 Close all others

Slide 19

Slide 19 text

Demo 1 CSS Editing https://github.com/ShingoFukuyama/helm-css-scss

Slide 20

Slide 20 text

More demos i.e. multiple cursors http://emacsrocks. com/e13.html You can view tutorials here: http://emacsrocks. com/

Slide 21

Slide 21 text

Cool Modes Org Mode http://www.emacswiki.org/emacs/OrgMode Artist Mode http://www.emacswiki.org/emacs/ArtistMode RainorShine http://www.emacswiki.org/emacs/RainOrShine Evil Mode https://gitorious.org/evil/pages/Home Magit Mode https://github.com/magit/magit

Slide 22

Slide 22 text

Programming Modes Helm Mode https://github.com/emacs-helm/helm Rainbow http://elpa.gnu.org/packages/rainbow-mode.html Haskell Mode https://github.com/haskell/haskell-mode GHC Mode http://www.mew.org/~kazu/proj/ghc-mod/en/

Slide 23

Slide 23 text

How to install modes 1. Install Melpa 2. M-x list-packages 3. i (to select) 4. x (to execute) 5. Start the mode with M-x

Slide 24

Slide 24 text

Credits Comics http://xkcd.com/378/ http://unix.stackexchange.com/a/988 Photos http://artspell.deviantart.com/art/Sir-Doge-416252702 http://imgur.com/gallery/e3D7oH9 http://mensweardog.tumblr.com/ Presenter Kat Chuang @katychuang