summaryrefslogtreecommitdiff
path: root/platicas/taller-vim-1/index.html
blob: e7ebd43a9ed1d61162433734e2da548a71e2d86c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
<!DOCTYPE html>
<head> 
  <title>Usando Vim</title> 
  <meta charset="utf-8" >
  <meta name="author" content="Carlos Ivan Sosa" />
  <meta name="author" content="gnusosa" />
  <link rel="stylesheet" type="text/css" media="screen, projection, print" 
   href="slidy.css" /> 
  <link rel="stylesheet" type="text/css" media="screen, projection, print"
 href="w3c-black.css" />
  <script src="slidy.js" charset="utf-8" type="text/javascript"></script> 
</head>
<body>
<div class="background"> 
<img class="head-icon" alt="head-icon"
src="img/chibibonsa.jpg" /> 
<h3 class="head-logo-fallback">Usando Vim</h3>
</div> 
<div class="background dos"> 
<img class="head-icon" alt="vim-fuego"
src="img/vim-fire.gif" /> 
<h3 class="head-logo-fallback">Usando Vim</h3>
</div> 
<div class="slide cover"> 
<br />            
<h1>Usando Vim</h1> 
<img src="img/vim-editor_logo.png" 
alt="vim editor logo" class="vimlogo" /> 
<p><a href="http://gnusosa.net">Carlos Sosa</a><br /> 
<a href="mailto:gnusosa@gnusosa.net">gnusosa@gnusosa.net</a></p> 
</div> 
<div class="slide"> 
  <h1>Índice</h1> 
  <br /> 
  <div>
  <div class="head-logo-fallback"><img src="img/bonsai.jpg" alt="bonsai" /></div>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Introducción 
    <ul class='incremental'>
        <li>¿Qué es Vim? </li>
        <li>Vim no es.</li>
        <li>Historia.</li>
        <li>Vim ne Vi</li>
        <li>¿Cómo se usa? (¿Con que se come?)</li>
        <li>Modular = Modos</li>
    </ul>
  </li>
  </ul> 
  </div>
</div> 
 <div class="slide"> 
  <h1>Índice</h1> 
  <br /> 
  <div>
 <div class="head-logo-fallback"><img src="img/monje.jpg" alt="monje" /></div>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Filosofía
    <ul class='incremental'>
	 <li>Una pizca de KISS.</li>
	 <li>Virtudes del Programador.</li>
	 <li>Se trata de editar, no de escribir. </li>
	 <li>Los siete hábitos para editar texto efectivamente.</li>
    </ul>
  </li>
  </ul>
  </div>
</div> 
 <div class="slide"> 
  <h1>Índice</h1> 
  <br /> 
  <div>
 <div class="head-logo-fallback"><img src="img/zen2.gif" alt="zen2" /></div>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Zen de Vim 
    <ul class='incremental'>
	 <li>Controla tú energía. (linea de comandos)</li>
     <li>No gastes tú energía moviéndote. (modo de comandos)</li>
     <li>No corras por los campos, sáltalos. (modo de comandos avanzado)</li>
     <li>Reduce, Recicla, Reusa.  (modo visual)</li>
     <li>Solo escribe lo esencial. (modo inserción)</li>
     <li>El que se repite, pierde. (dot y macros)</li>
     <li>Hasta el texto más correcto, tiene formato. (Editar código)</li>
    </ul>
  </li>
  </ul>
  </div>
</div> 
 <div class="slide"> 
  <h1>Índice</h1> 
  <br /> 
  <div>
 <div class="head-logo-fallback"><img src="img/iching.png" alt="img/iching.png" /></div>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Siete hábitos para editar texto efectivamente
    <ul class='incremental'>
	 <li>Muévete rápido.</li>
     <li>No lo escribas dos veces.</li>
     <li>Corregir.</li>
     <li>Es raro cuando un archivo es solitario.</li>
     <li>La unión hace la fuerza.</li>
     <li>Todo texto es estructurado.</li>
     <li>La práctica hace al maestro.</li>
    </ul>
  </li>
  </ul>
  </div>
</div> 
<div class="slide cover"> 
 <br />            
 <h1>OH HAI!</h1> 
<div style="text-align: center;">
 <img src="img/me.jpg" alt="Me" /> 
</div>
 <p>Uso Vim todos los días.<br /> 
 No puedo vivir sin Vim. KTHX. BAI</p> 
</div> 
<div class="slide cover"> 
 <br />            
 <h1>Trabajo</h1> 
<div style="text-align: center;">
 <img src="img/screen.jpg" alt="Escritorio" /> 
</div>
 <p>La vida es sufrimiento.</p>
</div> 
<div class="slide cover"> 
 <br />            
 <h1>I &lt; Graficas</h1> 
<div style="text-align: center;">
 <img src="img/grafica.jpg" 
  alt="grafica" /> 
</div>
 <p>LO QUE HAGO AHORA<br /> 
 Super aburrido comparado a Facebook.</p> 
</div> 
<div class="slide cover"> 
 <br />            
 <h1>I &lt; Graficas</h1> 
<div style="text-align: center;">
 <img src="img/grafica2.jpg" 
  alt="grafica" /> 
</div>
 <p>LO QUE HAGO AHORA<br /> 
 Super aburrido comparado a Facebook.</p> 
</div> 
<div class="slide dos"> 
  <h1>Introducción</h1> 
  <br /> 
  <div>
  <!--<div class="head-logo-fallback"><object type="image/svg+xml" data="img/abuela.svg" width="401px" height="500.115px"></div>-->
  <div class="head-logo-fallback"><img src="img/vim-screenshot1.png" alt="vim-screenshot" /></div>
  <h3>¿Qué es? </h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Vim es un editor de texto modular.<br /> Un clon más del famoso editor vi.<br /><br /> Principales funcionalidades:   
    <ul class='incremental'>
	<li>Corrector ortográfico integrado.</li>
	<li>Autocompletado de texto.</li>
	<li>Órdenes deshacer y rehacer.</li>
	<li>Navegación por pestañas.</li>
	<li>Ventanas múltiples. Área de edición horizontal o vertical.</li>
	<li>Resaltado de sintaxis o de etiquetas.</li>
	<li>Lenguaje de scripting para programar extensiones.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide dos"> 
  <h1>Introducción</h1> 
  <br /> 
  <div>
  <!--<div class="head-logo-fallback"><object type="image/svg+xml" data="img/abuela.svg" width="401px" height="500.115px"></div>-->
  <div class="head-logo-fallback"><img src="img/vim-screenshot1.png" alt="vim-screen" /></div>
  <h3>Vim no es:</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Vim es un editor de texto, NO es un IDE. 
    <ul class='incremental'>
	<li>No es gráfico. Lo siento, terminal o gvim.</li>
	<li>No es un formateador de texto.</li>
	<li>No es un WYSIWYG.</li>
	<li>No es para todos.</li>
	<li>Vim script es para usarse con texto.</li>
	<li>No es Emacs.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide cover"> 
 <br />            
 <h1>PERO...</h1> 
<div style="text-align: center;">
<p>Puede ser usado para todo lo anterior.</p>
</div>
 <p>El Vim script language permite la creación de plugins.<br /> 
 De tal manera, que solo utilices lo necesario.</p> 
</div> 
<div class="slide dos"> 
  <h1>Introducción</h1> 
  <br /> 
  <div>
  <div class="head-logo-fallback"><img src="img/Bram_Moo.jpg" alt="BramMoo-vim" /></div>
  <h3>Historia</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Bram Moolenaar, presentó la primera versión en 1991. 
    <ul class='incremental'>
	<li>Vim fue escrito primero para la Amiga.</li>
	<li>Vim existe desde la época de USENET.</li>
	<li>Vim comenzó con una comunidad fuerte.</li>
	<li>Vim surgió por que Vi en ese tiempo era de fuente licencia/cerrada.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide dos"> 
  <h1>Introducción</h1> 
  <br /> 
  <div>
  <div class="head-logo-fallback"><img src="img/Bill_joy.jpg" alt="Billjoy-vi" /></div>
  <h3>Historia</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Bill Joy, escribió Vi uniendo ed y ex.
    <ul class='incremental'>
	<li>Aprendió a leer cuando sólo tenía 3 años.</li>
	<li>Es uno de alumnos prodigios de UC Berkeley.</li>
	<li>Fue el principal diseñador del Unix de Berkeley (BSD).</li>
	<li>Escribió las bases de los sistemas BSD's.</li>
	<li>Fue parte de los inicios de SunOS, ahora Solaris.</li>
	<li>Es uno de los pilares de Sun Microsystems.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide cover"> 
 <br />            
 <!--<h1>Vim ne Vi</h1> -->
<div style="text-align: center;">
<p><strong>Vim ne Vi</strong></p>
  <p> ne eq "not equal"<br />
     eq === "equal"</p>     
</div>
</div>
<div class="slide dos"> 
  <h1>Introducción</h1> 
  <br /> 
  <div>
  <h3>¿Cómo se usa? </h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>¿Con que se come?
    <ul class='incremental'>
	<li>Vim es modular.</li>
	<li>Dependiendo el modo, es la interpretación.</li>
	<li>Cada tecla es un comando o acción.</li>
	<li>Vim no se equivoca, nosotros nos equivocamos.</li>
	<li>Vim maneja texto, no archivos.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide"> 
  <h1>Filosofía</h1> 
  <br /> 
  <div>
  <h3>Una pizca de Unix.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li><strong>K</strong>eep <strong>I</strong>t <strong>S</strong>imple <strong>S</strong>tupid
    <ul class='incremental'>
	<li>En Unix todo es un archivo de texto.</li>
	<li>El minimalismo es bello.</li>
	<li>Escribe programas para manejar solo texto.</li>
	<li>Escoja portabilidad sobre eficiencia.</li>
	<li>Guarda todo archivo en texto.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>
<div class="slide"> 
  <h1>Filosofía</h1> 
  <br /> 
  <div>
  <h3>Virtudes del Programador.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>1. Pereza
    <ul class='incremental'>
	<li>Automatizar procesos repetitivos.</li>
	<li>Enfocarse en problemas más complejos e interesantes.</li>
	<li>Que la maquina trabaje por ti, ¡ella es la computadora!</li>
	<li>Computadora = Computo.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Filosofía</h1> 
  <br /> 
  <div>
  <h3>Virtudes del Programador.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>2. Impaciencia
    <ul class='incremental'>
	<li>Resolver un problema lo más pronto posible.</li>
	<li>No dejar un trabajo para después.</li>
	<li>Resolver ahora, para relajarse mañana. :D </li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Filosofía</h1> 
  <br /> 
  <div>
  <h3>Virtudes del Programador.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>3. Orgullo
    <ul class='incremental'>
	<li>El tratar de realizar una buena implementación.</li>
	<li>Código bien escrito con pocas lineas, siempre es aclamado.</li>
	<li>Buen código tiene consecuencias: Respeto, oportunidades y futuro.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Filosofía</h1> 
  <br /> 
  <div>
  <h3>Se trata de editar, no de escribir.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>No escribir, es bueno. (Pereza) </li>
  <li>El uso del modo inserción, es del diablo. (Pereza)</li>
  </ul>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
  <div>
  <h3>Controla tú energía. </h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Linea de comandos. Presiona  la tecla ' : ' 
    <ul class='incremental'>
	<li><code>:e archivo</code> - <strong>e</strong>ditar archivo (abrir)</li>
	<li><code>:q</code> - <strong>q</strong>uit - cerrar </li>
	<li><code>:w</code> - <strong>w</strong>rite - escribir. (guardar)</li>
	<li><code>:r</code> - <strong>r</strong>ead - leer. (insertar un texto)</li>
	<li><code>!date</code> - Corre una aplicación externa a Vim por sh.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>No gastes tú energía moviéndote.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Modo de comandos. 
    <ul class='incremental'>
	<li>Usa <code>h,j,k,l</code>.</li>
	<li><code>izquierda,abajo,arriba,derecha</code>.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>No gastes tú energía moviéndote.</h3>
  <div class='incremental'>
  <table> 
  <tr>
  <th class="vi_key">fx</th>
  <td class="vi_explanation"><code><strong>f</strong>orward</code> - Mueve el cursor al siguiente caracter que sea <code>x</code></td>
  </tr>
  <tr>
  <th class="vi_key">tx</th>
  <td class="vi_explanation">La misma acción que la anterior, pero el cursor se mueve al siguiente caracter despues de <code>x</code></td>
  </tr>
  <tr>
  <th class="vi_key">Fx</th>
  <td class="vi_explanation">Acción inversa a <code>fx</code>.</td>
  </tr>            
  <tr>
  <th class="vi_key">w</th>
  <td class="vi_explanation">Mueve el cursor hacia adelante de palabra en palabra.</td>
  </tr>
  <tr>
  <th class="vi_key">b</th>
  <td class="vi_explanation">Acción inversa de <code>w</code>.</td>
  </tr>
  <tr>
  <th class="vi_key">0</th>
  <td class="vi_explanation">Mueve el cursor al inicio de la linea actual.</td>
  </tr>
  <tr>
  <th class="vi_key">^</th>
  <td class="vi_explanation">Mueve el cursor al primer caracter de la actual linea.</td>
  </tr>
  <tr>
  <th class="vi_key">$</th>
  <td class="vi_explanation">Mueve el cursor al ultimo caracter de la linea.</td>
  </tr>
  </table> 
  </div>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>No corras por los campos, sáltalos.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
	<tr>
	<th class="vi_key">)</th>
	<td class="vi_explanation">Mueve el cursor a la siguiente oración.</td>
	</tr>
	<tr>
	<th class="vi_key">(</th>
	<td class="vi_explanation">Acción inversa de <code>)</code>.</td>
	</tr>
<tbody><tr>
	<th class="vi_key">&lt;C-F&gt;</th>
	<td class="vi_explanation">Mueve el cursor una ventana entera hacia adelante.</td>
</tr>
<tr>
	<th class="vi_key">&lt;C-B&gt;</th>
	<td class="vi_explanation">Acción inversa de <code>C-F</code>.</td>
</tr>
<tr>
	<th class="vi_key">gg</th>
	<td class="vi_explanation">Mueve el cursor al inicio del archivo.</td>
</tr>
<tr>
	<th class="vi_key">G</th>
	<td class="vi_explanation">Mueve el cursor al final del archivo.</td>
</tr>
<tr>
	<th class="vi_key"><em>num</em>G</th>
	<td class="vi_explanation">Mueve el cursor a la linea <em>num</em>.</td>
</tr>
	</table>
  </div>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>No corras por los campos, sáltalos.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
	<tr>
	<th class="vi_key">H</th>
	<td class="vi_explanation">Mueve el cursor al tope de la ventana.</td>
	</tr>
	<tr>
	<th class="vi_key">M</th>
	<td class="vi_explanation">Mueve el cursor a la mitad de la ventana.</td>
	</tr>
	<tr>
	<th class="vi_key">L</th>
	<td class="vi_explanation">Acción inversa de <code>H</code>.</td>
	</tr>
	<tr>
	<th class="vi_key">*</th>
	<td class="vi_explanation">Lee la palabra de bajo del cursor y busca hacia adelante la palabra seleccionada.</td>
	</tr>
	<tr>
	<th class="vi_key">#</th>
	<td class="vi_explanation">Acción inversa de <code>*</code>.</td>
	</tr>
	<tr>
	<th class="vi_key">/<em>palabra</em></th>
	<td class="vi_explanation">Empezando del cursor busca hacia adelante la palabra despues de <code>'/'</code>.</td>
	</tr>
	<tr>
	<th class="vi_key">?<em>palabra</em></th>
	<td class="vi_explanation">Acción inversa a <code>'/'</code>.</td>
	</tr>
	</table>
  </div>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>No corras por los campos, sáltalos.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
<tr>
	<th class="vi_key">ma</th>
	<td class="vi_explanation">Crea una marca en la navegación del archivo, donde 'a' es la marca.</td>
</tr>
<tr>
	<th class="vi_key">`a</th>
	<td class="vi_explanation">Mueve el cursor a la marca 'a' en el archivo.</td>
</tr>
<tr>
	<th class="vi_key">`.</th>
	<td class="vi_explanation">Ir a la ultima modificación hecha.</td>
</tr>
	</table>
  </div>
  </div>
</div>                             
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
<div style="text-align: center;">
  <h3>Reduce, Recicla, Reusa.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
	<tbody>
<tr>
	<th class="vi_key">v</th>
	<td class="vi_explanation">Subraya por caracteres.</td>
</tr>
<tr>
	<th class="vi_key">V</th>
	<td class="vi_explanation">Subraya por lineas.</td>
</tr>
<tr>
	<th class="vi_key">&lt;C-V&gt;</th>
	<td class="vi_explanation">Subraya por bloques de lineas.</td>
</tr>
 <tr>
	<th class="vi_key">d{acción}</th>
	<td class="vi_explanation"><strong>d</strong>elete. Borra(corta) el texto subrayado y lo manda al clipboard.</td>
</tr>
 <tr>
	<th class="vi_key">dd</th>
	<td class="vi_explanation">Borra(corta) la linea entera y la manda al clipboard.</td>
</tr>
<tr>
	<th class="vi_key">y</th>
	<td class="vi_explanation"><strong>y</strong>ank. Copy(copiar). Acción similar a <code>d</code>, pero este nomas copia al clipboard.</td>
</tr>
<tr>
	<th class="vi_key">c</th>
	<td class="vi_explanation"><strong>c</strong>ut. Acción similar a <code>d</code>, pero este te manda a modo insertar.</td>
</tr> 
<tr>
	<th class="vi_key">p</th>
	<td class="vi_explanation"><strong>p</strong>aste. Pegar. Pega lo que hay en clipboard.</td>
</tr>
	</tbody>
	</table>
  </div>
  </div>
</div>                              
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>Solo escribe lo esencial.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
	 <tr>
		<th class="vi_key">i</th>
		<td class="vi_explanation">Inserta texto antes de el caracter debajo del cursor.</td>
	</tr>
	<tr>
		<th class="vi_key">I</th>
		<td class="vi_explanation">Inserta texto al inicio de la linea.</td>
	</tr>
	<tr>
		<th class="vi_key">a</th>
		<td class="vi_explanation">Acción inversa de <code>i</code>.</td>
	</tr>
	<tr>
		<th class="vi_key">A</th>
		<td class="vi_explanation">Acción inversa de <code>I</code>.</td>
	</tr>
	<tr>
		<th class="vi_key">o</th>
		<td class="vi_explanation">Crea una nueva linea debajo de la linea actual,<br /> y empieza modo insertar.</td>
	</tr>
	<tr>
		<th class="vi_key">O</th>
		<td class="vi_explanation">Acción inversa que <code>o</code>.</td>
	</tr>
	</table>
  </div>
  </div>
</div>                             
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>El que se repite, pierde.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
<tr>
	<th class="vi_key">q<em>registro</em></th>
	<td class="vi_explanation">Empieza a grabar un macro con el nombre de registro.</td>
</tr>
<tr>
	<th class="vi_key">q</th>
	<td class="vi_explanation">Termina la grabación del macro.</td>
</tr>
<tr>
	<th class="vi_key">@<em>registro</em></th>
	<td class="vi_explanation">Activa el macro registro.</td>
</tr>
<tr>
	<th class="vi_key"><code>.</code></th>
	<td class="vi_explanation"><strong>Dot</strong>. Repite la ultima acción.</td>
</tr>
	</table>
  </div>
  </div>
</div>                             
<div class="slide dos"> 
  <h1>Zen de Vim</h1> 
  <br /> 
<div style="text-align: center;">
  <h3>Hasta el más limpio tiene formato.</h3>
  <div class='incremental'>
  <!-- topic 1 starts cullapsed -->
	<table>
<tr>
	<th class="vi_key">]p</th>
	<td class="vi_explanation">Pre-formatea el texto que se va a pegar.</td>
</tr>
<tr>
	<th class="vi_key">%</th>
	<td class="vi_explanation">Si el cursor se coloca en <strong>{,[,(</strong>, busca al siguiente del mismo.</td>
</tr>
<tr>
	<th class="vi_key">&gt;&gt;</th>
	<td class="vi_explanation">Le da formato a bloques de texto.</td>
</tr>
<tr>
	<th class="vi_key">&lt;&lt;</th>
	<td class="vi_explanation">Acción inversa de <strong>&lt;&lt;</strong>.</td>
</tr>
	</table>
  </div>
  </div>
</div>                             
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <br /> 
  <div>
  <h3>Muévete rápido.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Navegar por el texto es el habito más común.<br /> 
  Aprende a navegar, moverte y saltar, sin presionar tantas teclas.
  <ul class='incremental'>
	<li>Usa <strong><code>/patrón</code></strong> para buscar una palabra clave.</li>
	<li>Usa <strong><code>%</code></strong> para moverte entre bloques lógica.</li>
	<li>Para variables y palabras que se repitan, usa <strong><code>*</code></strong>.</li>
	<li>Usa <strong><code>ngg</code></strong> donde <strong>n</strong> es el numero de linea.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              

<div class="slide cover"> 
 <br />            
 <h1>No lo escribas dos veces.</h1> 
 <p>Tres simples pasos:</p>
<div style="text-align: center;">
  <ul>
  <li>1. Mientras editas un archivo, dedícale tiempo a notar cuantas veces repites los mismos movimientos.</li>
  <li>2. Busca un comando, una forma o un plugin para el editor que remedie esa repetición.</li>
  <li>3. Practica utilizando ese comando hasta que lo hagas por inercia propia.</li>
  </ul>
</div>
</div> 
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div>
  <h3>No lo escribas dos veces.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Escribir dos veces lo mismo, es como reinventar la rueda.<br /> 
  <ul class='incremental'>
	<li>Usa <strong><code>:s</code></strong> para substituir una palabra clave en todo el archivo.</li>
	<li>Usa <strong><code>.</code></strong> para insertar una palabra que acabas de escribir.</li>
	<li>Para variables y palabras que se repitan, usa <strong><code>C-N</code></strong>.</li>
	<li>Para directorios y archivos, usa <strong><code>C-X + C-F</code></strong>.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div>
  <h3>Corregir.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Si una palabra errónea se repite, debe ser corregida.<br /> 
  <ul class='incremental'>
	<li>Usa <strong><code>:abbr Lunix Linux</code></strong> para corregir una palabra clave en todo el archivo.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div>
  <h3>Es raro cuando un archivo es solitario.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Todo archivo tiene otros archivos en común.<br /> 
  Edita con varias ventanas y alcanzaras tus metas.
  <ul class='incremental'>
	<li>Usa <strong><code>C-w + s</code></strong> para dividir la ventana horizontalmente.</li>
	<li>Usa <strong><code>C-w + v</code></strong> para dividir la ventana verticalmente.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div>
  <h3>La unión hace la fuerza.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>Vim se maneja con la filosofía Unix,<br /> 
  utiliza ese flujo de texto.
  <ul class='incremental'>
	<li>Usa <strong><code>:r archivo</code></strong> para insertar un texto entero al archivo.</li>
	<li>Usa <strong><code>:r ! grep 192.168.1.102 log</code></strong> para insertar texto de un flujo de texto externo.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div>
  <h3>Todo texto es estructurado.</h3>
  <ul class='incremental'>
  <!-- topic 1 starts cullapsed -->
  <li>En la programación y en los textos formales,<br /> 
  el orden y el formato hablan más por el texto que el contenido. 
  <ul class='incremental'>
	<li>Para formatear un texto a default, usa <strong><code>=G</code></strong>.</li>
	<li>Para estructurar texto, utiliza <strong><code>>></code></strong>.</li>
	<li>Para regresar a un bloque, utiliza <strong><code>&lt;&lt;</code></strong>.</li>
    </ul>
  </li>
  </ul>
  </div>
</div>                              
<div class="slide"> 
  <h1>Siete hábitos para editar<br /> texto efectivamente.</h1> 
  <div class='incremental'>
  <h3>La practica hace al maestro.</h3>
  <!--<ul class='incremental'>-->
  <!-- topic 1 starts cullapsed -->
  <p>Mas que practicar, se trata de analizar.
  Cada vez que analizas tus movimientos y cuanto inviertes escribiendo,
  más te puedes acercar a un punto cero.</p>
  <p>Todo editor de texto, o IDE profesional, tiene un margen de aprendizaje.</p>
  <p>Como en cualquier practica del Zen, primero se piensa y luego se actúa.</p>
  <!--</ul>-->
  </div>
</div>                              
<div class="slide cover"> 
 <br />            
 <h1>Usando Vim</h1> 
<div style="text-align: center;">
<p>Gracias por su tiempo.<br /> No usen Emacs.<br />No, no es cierto usen lo que quieran.<br /> Nomas nano, no. Por favor.</p>
<strong>Carlos Ivan Sosa</strong> <p>gnusosa</p>
<p><a href="http://github.com/gnusosa">Cuenta de github</a></p>
<p><a href="http://log.gnusosa.net">log.gnusosa.net</a></p>
<p>¡Googlealo apá!</p>
</div>
</div> 
</body>
</html>