/
index.html
162 lines (140 loc) · 7.35 KB
/
index.html
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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Some things you can do in insert mode</title>
<meta name="description" content="Staying in insert mode is the easiest way to deny yourself access to most of Vim's power, but it is still stuffed with useful features that are easily overlooked. This talk is a lightning tour to remind you of what's available, and hopefully teach you a new trick or two.">
<meta name="author" content="Dave Aitken">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="css/custom.css">
<link rel="stylesheet" href="css/reveal.min.css">
<link rel="stylesheet" href="css/theme/solarized.css" id="theme">
<!-- For syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- If the query includes 'print-pdf', use the PDF print sheet -->
<script>
document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section>
<h1>Some things you can do in insert mode...</h1>
<p>VimLondon, 28th May 2013</p>
<p>Dave Aitken (<a href="https://github.com/actionshrimp/dotfiles">@actionshrimp</a>)</p>
</section>
<section>
<h1>Woooo! Insert mode!!</h1>
</section>
<section>
<h1>Getting <b>out</b> of insert mode</h1>
<p><span class="kb">Esc</span>, <span class="kb">C-[</span>, <span class="kb">C-c</span><span class="star">*</span></p>
<p class="fragment fade-in"><span class="star">*</span>breaks abbreviations, InsertLeave autocmd</p>
<p class="fragment fade-in">:inoremap <C-c> <Esc></p>
</section>
<section>
<h1>Text editing</h1>
</section>
<section>
<h1>Text width</h1>
<p>e.g. :set textwidth=80</p>
<p>goes well with :set colorcolumn=80</p>
<p>gw <span class="it">motion</span></p>
<p>gwgw/gww</p>
<p>gwap</p>
<p>gggwG</p>
</section>
<section>
<h1>Abbreviations</h1>
<p>e.g. :iabbr teh the</p>
<p>Auto-fix common typos: teh -> the</p>
<p>:abbr, :iabbr</p>
</section>
<section>
<h1>Basic Keys</h1>
<table width="100%">
<thead>
<tr>
<td>Key</td>
<td>A way to remember it</td>
</tr>
</thead>
<tbody>
<tr>
<td><span class="kb">C-j</span></td><td>hjkl</td>
</tr>
<tr>
<td><span class="kb">C-h</span></td><td>hjkl</td>
</tr>
<tr>
<td><span class="kb">C-w</span></td><td><span class="it">word</span></td>
</tr>
<tr>
<td><span class="kb">C-u</span></td><td><span class="it">uh-oh</span></td>
</tr>
</tbody>
</table>
<p class="fragment fade-in"><span class="b">Bonus</span>: These also work in the shell!</p>
<p class="fragment fade-in">But beware the curse of <span class="kb">C-w</span>...</p>
</section>
<section>
<h1>Registers</h1>
<p><span class="kb">C-r</span> <span class="it"><register name></span></p>
<br>
<h3>Useful registers in insert mode:</h3>
<p><span class="kb">/</span>, <span class="kb">:</span> (although often better to use q: and q/)</p>
<p><span class="kb">=</span> expression register:</p>
<ul>
<li>current date: "=strftime('%c')</li>
</ul>
</section>
<section>
<h1>Completion</h1>
<p><span class="kb">C-n</span> / <span class="kb">C-p</span> - next/prev word completion</p>
<p><span class="kb">C-l</span> - line completion, (suprisingly useful, smart about tabs)</p>
</section>
<section>
<h1>Getting help for insert mode</h1>
<p>prefix the thing you're looking for with 'i_'</p>
<p>:help i_^w</p>
<p>(this also works for other modes, e.g. v_ for visual)</p>
<p>also... :help Insert-mode</p>
</section>
<section>
<h1>Questions?</h1>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.min.js"></script>
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
// { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } }
// { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }
]
});
</script>
</body>
</html>