Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 382 lines (381 sloc) 4.316 kb
afa0ef6 @genehack text version of slides
authored
1 TITLE::Emacs + Perl
2 Emacs
3 ----
4 Perl
5 ----
6 two great things
7 that go great
8 together
9 ----
10 [[image src="images/vi-emacs.png" width="640" height="355"]]
11 ----
12 [[EM:OK:EM]]
13 let's focus on
14 Emacs
15 ----
16 Some Background
17 ----
18 Old
19 (started in 1976)
20 ----
21 Has the
22 whipupitude
23 nature
24 ----
25 Started life
26 as a set of macros
27 for another editor
28 ----
29 Editor Macros
30 ↓
31 Emacs
32 ----
33 Predates:
34 SVR0
35 BSD
36 SunOS
37 GNU/Linux
38 ----
39 One of the
40 first
41 "windowing"
42 systems
43 ----
44 Comes in both
45 GUI & console
46 flavors
47 ----
48 (XEmacs has nothing
49 to do with X Windows)
50 ----
51 Multiple forks & flavors
52 ----
53 GNU Emacs
54 ----
55 GNU Emacs
56 XEmacs
57 ----
58 GNU Emacs
59 XEmacs
60 SXEmacs
61 ----
62 GNU Emacs
63 XEmacs
64 SXEmacs
65 VILE
66 ----
67 GNU Emacs
68 XEmacs
69 SXEmacs
70 VILE
71 MicroEMACS
72 ----
73 GNU Emacs
74 XEmacs
75 SXEmacs
76 VILE
77 MicroEMACS
78 ...
79 ----
80 Stuff you can do
81 with Emacs
82 ----
83 Edit text
84 ----
85 Edit text
86 with
87 syntax highlighting
88 ----
89 Compile code
90 ----
91 "Compile"
92 can mean
93 "syntax check"
94 ----
95 Chat on IRC
96 (multiple clients)
97 ----
98 Send email
99 ----
100 Read email
101 (multiple clients)
102 ----
103 Read and post
104 to Usenet
105 ----
106 Read and post
107 to Twitter
108 ----
109 Read and post
110 to Identi.ca
111 ----
112 Read and post
113 to Facebook
114 ----
115 Browse the web
116 ----
117 Run your REPL
118 ----
119 Be psychoanalyzed
120 ----
121 Interact with a debugger
122 ----
123 Manage files
124 ----
125 Play tetris
126 ----
127 Debug code
128 running on a
129 remote server
130 ----
131 Run as a daemon
132 ----
133 Context-aware
134 input completion
135 (aka "Intellisense")
136 ----
137 Integrate with
138 CVS
139 ----
140 Integrate with
141 SVN
142 ----
143 Integrate with
144 Perforce
145 ----
146 Integrate with
147 git
148 ----
149 Integrate with
150 darcs
151 ----
152 Integrate with
153 Hg
154 ----
155 Integrate with
156 your oddball RCS
157 of choice
158 ----
159 Spell check
160 with ispell
161 ----
162 Spell check
163 with aspell
164 ----
165 Drive
166 grep
167 ----
168 Drive
169 ack
170 ----
171 Drive
172 make
173 ----
174 Drive
175 $RANDOM_OTHER_PROGRAM
176 that outputs parsable
177 line numbers
178 ----
179 Talk to your RDBMS
180 ----
181 Keep your
182 diary
183 ----
184 Keep your
185 calendar
186 ----
187 Plan your
188 day
189 ----
190 Plan your
191 week
192 ----
193 Plan your
194 life
195 ----
196 (Google org-mode
197 for lots more)
198 ----
199 Write
200 outlines
201 ----
202 Create
203 presentationss
204 ----
205 Present
206 presentations
207 ----
208 Edit files
209 on remote hosts
210 ----
211 Edit files
212 as root
213 ----
214 Edit files
215 on remote hosts
216 as root
217 ----
218 (You still need
219 the passwords.)
220 ----
221 Emulate
222 vi
223 ----
224 Emulate
225 vim
226 ----
227 [[EM:Run:EM]]
228 vim
229 ----
230 Edit text
231 [[EM:like a mofo:EM]]
232 ----
233 Getting it
234 ----
235 Download it
236 ----
237 http://www.emacswiki.org/emacs/CategoryPorts
238 ----
239 http://www.emacswiki.org
240 click on 'Ports'
241 ----
242 Build it
243 ----
244 In *nix-ish
245 [[PRE:
246 ./configure --prefix=/my/emacs-23.1
247 make
248 make install
249 :PRE]]
250 ----
251 In Mac-ish
252 [[PRE:
253 ./configure --with-ns
254 make
255 make install
256 open nextstep
257 :PRE]]
258 Emacs.app
259 ↓
260 Applications
261 ----
262 Run at least
263 Emacs 23.1
264 ----
265 "Pretest" alphas
266 have been very stable
267 (for me; YMMV)
268 ----
269 [[EM:Full disclosure::EM]]
270 my emacs blew up
271 right after typing that
272 ----
273 It's [[EM:alpha!:EM]]
274 ----
275 Looks
276 ----
277 out of the box:
278 [[image src="images/1.png" width="640" height="480"]]
279 ----
280 my fresh emacs
281 [[image src="images/2.png" width="640" height="480"]]
282 ----
283 (i'm sort of a
284 boring guy,
285 visually.)
286 ----
287 Config
288 ----
289 Startup file:
290 [[PRE:~/.emacs.d/init.el:PRE]]
291 ----
292 The file
293 formerly
294 known as:
295 [[PRE:~/.emacs:PRE]]
296 ----
297 Booster pack:
298 emacs starter kit
299 http://github.com/technomancy/emacs-starter-kit
300 ----
301 emacs starter kit
302 [[PRE:
303 All the code you need to get started,
304 with an emphasis on dynamic languages.
305 :PRE]]
306 ----
307 needs some Perl love
308 ----
309 Paradox:
310 Need to be somewhat expert to help
311 By the time you're expert you want your own config
312 ----
313 One thing you [[EM:must:EM]] do:
314 [[PRE:
315 (defalias 'perl-mode 'cperl-mode)
316 :PRE]]
317 ----
318 Notable Perl-specific add-ons
319 ----
320 jrock's cperl-mode
321 (Moosey!)
322 ----
323 [[PRE:Stylish::REPL:PRE]]
324 (link down ATM)
325 ☹
326 ----
327 [[PRE:perl-find-library.el:PRE]]
328 ----
329 [[PRE:pod-mode.el:PRE]]
330 ----
331 [[PRE:prove.el:PRE]]
332 ----
333 [[PRE:tt-mode.el:PRE]]
334 ----
335 [[PRE:perlcritic.el:PRE]]
336 ----
337 [[PRE:perltidy.el:PRE]]
338 ----
339 [[PRE:flymake:PRE]]
340 ----
341 [[PRE:Devel::PerlySense:PRE]]
342 ----
343 My Emacs config
344 [[PRE:http://github.com/genehack/emacs:PRE]]
345 (including third party libs and apps)
346 ----
347 Non-perl
348 functions of note
349 ----
350 nxml
351 RELAX NG
352 [[EM:continuous:EM]] validation
353 ----
354 macros
355 ----
356 magit
357 ----
358 dired
359 ----
360 "Inferior" shells
361 ----
362 I-do mode
363 ----
364 Session support
365 ----
366 YAsnippet
367 ----
368 color-theme
369 ----
370 browse-kill-ring
371 ----
372 css-mode
373 ----
374 the list goes on...
375 ----
376 Questions?
377 john sj anderson
378 @genehack
379 ----
380 ✌ ☺
381 ----
Something went wrong with that request. Please try again.