@icarusmx/creta 1.5.12 → 1.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/creta.js +31 -1
- package/lib/data/command-help/aws-ec2.js +34 -0
- package/lib/data/command-help/grep.js +76 -0
- package/lib/data/command-help/index.js +11 -1
- package/lib/data/command-help/lz.js +57 -0
- package/lib/executors/CommandHelpExecutor.js +6 -1
- package/lib/exercises/.claude/settings.local.json +12 -0
- package/lib/exercises/01-developing-muscle-for-nvim.md +528 -0
- package/lib/exercises/{iterm2-pane-navigation.md → 02-iterm2-pane-navigation.md} +1 -1
- package/lib/exercises/05-svelte-first-steps.md +1340 -0
- package/lib/exercises/{curl-and-pipes.md → 06-curl-and-pipes.md} +187 -72
- package/lib/exercises/07-claude-api-first-steps.md +855 -0
- package/lib/exercises/08-playwright-svelte-guide.md +1384 -0
- package/lib/exercises/09-docker-first-steps.md +1475 -0
- package/lib/exercises/{railway-deployment.md → 10-railway-deployment.md} +1 -0
- package/lib/exercises/{aws-billing-detective.md → 11-aws-billing-detective.md} +215 -35
- package/lib/exercises/12-install-skills.md +755 -0
- package/lib/exercises/13-shell-aliases.md +134 -0
- package/lib/exercises/README.md +187 -0
- package/lib/exercises/utils/booklet-2up.js +133 -0
- package/lib/exercises/utils/booklet-manual-duplex.js +159 -0
- package/lib/exercises/utils/booklet-simple.js +136 -0
- package/lib/exercises/utils/create-booklet.js +116 -0
- package/lib/scripts/aws-ec2-all.sh +58 -0
- package/package.json +3 -2
- /package/lib/exercises/{git-stash-workflow.md → 03-git-stash-workflow.md} +0 -0
- /package/lib/exercises/{array-object-manipulation.md → 04-array-object-manipulation.md} +0 -0
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
# Developing Muscle Memory for Neovim
|
|
2
|
+
|
|
3
|
+
<!-- vim: set foldmethod=marker foldlevel=0: -->
|
|
4
|
+
|
|
5
|
+
## 📖 LazyVim Reading Guide {{{
|
|
6
|
+
|
|
7
|
+
**Start with:** `zM` (close all folds) → Navigate with `za` (toggle fold under cursor)
|
|
8
|
+
|
|
9
|
+
This document uses fold markers `{{{` and `}}}` for organized reading.
|
|
10
|
+
|
|
11
|
+
**Important keys for this exercise:**
|
|
12
|
+
- `j` - Move down line by line
|
|
13
|
+
- `}` - Jump to next paragraph (you'll practice this!)
|
|
14
|
+
- `{` - Jump to previous paragraph
|
|
15
|
+
|
|
16
|
+
}}}
|
|
17
|
+
|
|
18
|
+
## 🎯 Purpose {{{
|
|
19
|
+
|
|
20
|
+
This exercise puts you on the vim mastery path by teaching keyboard-driven navigation.
|
|
21
|
+
|
|
22
|
+
**What you'll learn:**
|
|
23
|
+
- The `}` and `{` commands for paragraph jumping
|
|
24
|
+
- How to navigate without touching the mouse
|
|
25
|
+
- Building muscle memory for efficient code reading
|
|
26
|
+
|
|
27
|
+
}}}
|
|
28
|
+
|
|
29
|
+
## Part 1: The `}` Command {{{
|
|
30
|
+
|
|
31
|
+
### What `}` Does {{{
|
|
32
|
+
|
|
33
|
+
In vim/neovim, the **`}`** command jumps forward to the next paragraph (empty line-separated block of text).
|
|
34
|
+
|
|
35
|
+
Press `}` right now. You'll skip past this text block and land after the next empty line.
|
|
36
|
+
|
|
37
|
+
Go ahead - press it a few times. Get a feel for the rhythm.
|
|
38
|
+
|
|
39
|
+
}}}
|
|
40
|
+
|
|
41
|
+
### Why This Matters {{{
|
|
42
|
+
|
|
43
|
+
When reading documentation, you don't need to read every word linearly. You're skimming for structure:
|
|
44
|
+
|
|
45
|
+
- Section titles
|
|
46
|
+
- Code blocks
|
|
47
|
+
- Key concepts
|
|
48
|
+
- Things that look relevant to your task
|
|
49
|
+
|
|
50
|
+
The `}` command lets you **skim at keyboard speed**. No mouse, no scrolling lag, no hand movement.
|
|
51
|
+
|
|
52
|
+
}}}
|
|
53
|
+
|
|
54
|
+
### Practice Zone: Press `}` Multiple Times {{{
|
|
55
|
+
|
|
56
|
+
This section has several paragraphs separated by empty lines. Your task: Press `}` repeatedly and notice how you hop from paragraph to paragraph.
|
|
57
|
+
|
|
58
|
+
Here's the first paragraph. It's about nothing in particular - just giving you something to jump over. The goal is to feel the rhythm of movement.
|
|
59
|
+
|
|
60
|
+
Here's the second paragraph. Notice how `}` jumped you here instantly? That's the point. You're not scrolling pixel by pixel - you're jumping conceptually.
|
|
61
|
+
|
|
62
|
+
Third paragraph here. By now you should be feeling the pattern. Empty line = paragraph boundary. `}` = jump forward. `{` (which we'll cover later) = jump backward.
|
|
63
|
+
|
|
64
|
+
Fourth paragraph. Keep going! Press `}` again and skip past this one too.
|
|
65
|
+
|
|
66
|
+
Fifth paragraph. You're getting good at this! The movement should start to feel natural.
|
|
67
|
+
|
|
68
|
+
Sixth paragraph. Notice how your eyes don't even read every word anymore? You're scanning for structure, not content. That's efficient reading.
|
|
69
|
+
|
|
70
|
+
Seventh paragraph. This is what developers mean when they talk about "keyboard-driven workflow" - your hands never leave home row.
|
|
71
|
+
|
|
72
|
+
Eighth paragraph. Let's keep building content to jump through. The more paragraphs we have, the more you'll internalize this movement.
|
|
73
|
+
|
|
74
|
+
Ninth paragraph. Starting to feel natural yet? The key is **not thinking about it** - just pressing `}` whenever you want to skip forward.
|
|
75
|
+
|
|
76
|
+
Tenth paragraph. Alright, you've earned a break. But remember - this is just the foundation. Next we'll combine `}` with fold control.
|
|
77
|
+
|
|
78
|
+
}}}
|
|
79
|
+
|
|
80
|
+
### The Backward Jump (`{`) {{{
|
|
81
|
+
|
|
82
|
+
Of course, you can also jump backward. The **`{`** command does the opposite of `}` - it jumps to the previous paragraph.
|
|
83
|
+
|
|
84
|
+
Try it now: Press `{` a few times and go back up through the paragraphs you just skipped.
|
|
85
|
+
|
|
86
|
+
This is useful when you:
|
|
87
|
+
|
|
88
|
+
- Jumped too far and need to backtrack
|
|
89
|
+
- Want to re-read something you skimmed past
|
|
90
|
+
- Are searching for something and need to move bidirectionally
|
|
91
|
+
|
|
92
|
+
}}}
|
|
93
|
+
|
|
94
|
+
### Combining `}` and `{` for Bidirectional Scanning {{{
|
|
95
|
+
|
|
96
|
+
Now you have both directions. This means you can:
|
|
97
|
+
|
|
98
|
+
- **`}` `}` `}`** - Skip forward three paragraphs
|
|
99
|
+
- **`{` `{`** - Backtrack two paragraphs
|
|
100
|
+
- Find what you need without touching the mouse
|
|
101
|
+
# TODO: add zM command and za reference here.
|
|
102
|
+
This is the foundation of keyboard-driven navigation. Everything else builds on this.
|
|
103
|
+
|
|
104
|
+
}}}
|
|
105
|
+
|
|
106
|
+
### Why We Started Here {{{
|
|
107
|
+
|
|
108
|
+
You might be wondering: "Why focus so much on `}` when this is a fold navigation guide?"
|
|
109
|
+
|
|
110
|
+
**Answer:** Because `}` is the **muscle memory foundation**. Before you can efficiently navigate 1,000-line files with folds, you need to be comfortable jumping around without thinking about it.
|
|
111
|
+
|
|
112
|
+
Folds are just **structure on top of paragraphs**. Once `}` is automatic, fold navigation will feel like a natural extension.
|
|
113
|
+
|
|
114
|
+
}}}
|
|
115
|
+
|
|
116
|
+
### Practice Exercise {{{
|
|
117
|
+
|
|
118
|
+
Before moving on, do this:
|
|
119
|
+
|
|
120
|
+
1. Press **`gg`** to jump to the top of this file
|
|
121
|
+
2. Press **`}`** until you get back to this section
|
|
122
|
+
3. Notice how you skimmed the entire file in ~10 keystrokes
|
|
123
|
+
|
|
124
|
+
That's the power of paragraph jumping. Now let's layer in fold control.
|
|
125
|
+
|
|
126
|
+
}}}
|
|
127
|
+
|
|
128
|
+
}}}
|
|
129
|
+
|
|
130
|
+
## Part 2: Fold Control - The Overview Commands {{{
|
|
131
|
+
|
|
132
|
+
### The `zM` Command (Close All Folds) {{{
|
|
133
|
+
|
|
134
|
+
**What it does:** Closes all folds in the file, leaving only top-level headers visible.
|
|
135
|
+
|
|
136
|
+
**Why it's powerful:** Instant table of contents. You see the structure of the entire file at a glance.
|
|
137
|
+
|
|
138
|
+
Before going into **`zM`** remember also **`za`**
|
|
139
|
+
|
|
140
|
+
**Try it now:**
|
|
141
|
+
|
|
142
|
+
1. Press **`zM`**
|
|
143
|
+
2. Watch this entire file collapse into just section headers
|
|
144
|
+
3. You just turned a 400+ line file into ~20 lines of overview
|
|
145
|
+
|
|
146
|
+
This is **zoom-out mode**. You're seeing the forest, not the trees.
|
|
147
|
+
|
|
148
|
+
**When to use `zM`:**
|
|
149
|
+
|
|
150
|
+
- Just opened a new file and want to understand structure
|
|
151
|
+
- Got lost deep in a section and need to reorient
|
|
152
|
+
- Looking for a specific section but don't remember where it is
|
|
153
|
+
- Want to copy/paste a section header
|
|
154
|
+
|
|
155
|
+
}}}
|
|
156
|
+
|
|
157
|
+
### The `za` Command (Toggle Current Fold) {{{
|
|
158
|
+
|
|
159
|
+
**What it does:** Opens or closes the fold your cursor is on.
|
|
160
|
+
|
|
161
|
+
**Why it's powerful:** Targeted exploration. Open only what matters, keep everything else collapsed.
|
|
162
|
+
|
|
163
|
+
**Try it now:**
|
|
164
|
+
|
|
165
|
+
1. Make sure you pressed `zM` to collapse everything
|
|
166
|
+
2. Move your cursor to a section header (use `j`/`k` or `}`)
|
|
167
|
+
3. Press **`za`**
|
|
168
|
+
4. Watch that section expand
|
|
169
|
+
5. Press **`za`** again
|
|
170
|
+
6. Watch it collapse
|
|
171
|
+
|
|
172
|
+
This is **zoom-in mode**. You're focusing on one thing at a time.
|
|
173
|
+
|
|
174
|
+
**The `za` rhythm:**
|
|
175
|
+
|
|
176
|
+
- See interesting header → **`za`** (open)
|
|
177
|
+
- Read the content
|
|
178
|
+
- Done reading → **`za`** (close)
|
|
179
|
+
- Move to next section
|
|
180
|
+
|
|
181
|
+
}}}
|
|
182
|
+
|
|
183
|
+
### The `zR` Command (Open All Folds) {{{
|
|
184
|
+
|
|
185
|
+
**What it does:** Opens all folds in the file, showing everything.
|
|
186
|
+
|
|
187
|
+
**Why it's powerful:** Sometimes you need to see the full picture. Or search across all content.
|
|
188
|
+
|
|
189
|
+
**Try it now:**
|
|
190
|
+
|
|
191
|
+
1. Press **`zR`**
|
|
192
|
+
2. Watch the entire file expand
|
|
193
|
+
|
|
194
|
+
**When to use `zR`:**
|
|
195
|
+
|
|
196
|
+
- Searching for text (`:/ search term`)
|
|
197
|
+
- Need to compare content across sections
|
|
198
|
+
- Reading linearly from start to finish
|
|
199
|
+
- Copying large chunks of text
|
|
200
|
+
|
|
201
|
+
**Note:** After using `zR`, you can always press `zM` to collapse everything again. These commands are reversible and instant.
|
|
202
|
+
|
|
203
|
+
}}}
|
|
204
|
+
|
|
205
|
+
### Combining `}` and Fold Commands - The Core Workflow {{{
|
|
206
|
+
|
|
207
|
+
Now we layer the two skills:
|
|
208
|
+
|
|
209
|
+
**The Exploration Pattern:**
|
|
210
|
+
|
|
211
|
+
1. **`zM`** - Collapse everything (see overview)
|
|
212
|
+
2. **`}` `}` `}`** - Jump between section headers
|
|
213
|
+
3. **`za`** - Open interesting section
|
|
214
|
+
4. Read what matters
|
|
215
|
+
5. **`za`** - Close it
|
|
216
|
+
6. Repeat
|
|
217
|
+
|
|
218
|
+
**Try this right now:**
|
|
219
|
+
|
|
220
|
+
1. Press **`zM`** (collapse all)
|
|
221
|
+
2. Press **`gg`** (go to top)
|
|
222
|
+
3. Press **`}`** until you reach "Part 3: Precision Navigation"
|
|
223
|
+
4. Press **`za`** (open that section)
|
|
224
|
+
5. Skim the content
|
|
225
|
+
6. Press **`za`** (close it)
|
|
226
|
+
7. Press **`}`** to move to next section
|
|
227
|
+
|
|
228
|
+
Did you feel that? You just navigated ~200 lines in ~10 keystrokes.
|
|
229
|
+
|
|
230
|
+
**That's the workflow.** Everything else is just refinement.
|
|
231
|
+
|
|
232
|
+
}}}
|
|
233
|
+
|
|
234
|
+
### Why This Changes Everything {{{
|
|
235
|
+
|
|
236
|
+
Before fold markers, navigating a large file meant:
|
|
237
|
+
|
|
238
|
+
- Scrolling (slow, imprecise)
|
|
239
|
+
- Ctrl+F searching (requires knowing exact text)
|
|
240
|
+
- Getting lost (no sense of structure)
|
|
241
|
+
- Context switching (opening multiple files)
|
|
242
|
+
|
|
243
|
+
With fold markers + LazyVim:
|
|
244
|
+
|
|
245
|
+
- **`zM`** = Instant table of contents
|
|
246
|
+
- **`}`** = Skip to what matters
|
|
247
|
+
- **`za`** = Read only relevant sections
|
|
248
|
+
- Never lose your place
|
|
249
|
+
- Never feel overwhelmed
|
|
250
|
+
|
|
251
|
+
This is **progressive disclosure in a text file**. It's the UX pattern that makes complex interfaces usable, now applied to documentation.
|
|
252
|
+
|
|
253
|
+
}}}
|
|
254
|
+
|
|
255
|
+
}}}
|
|
256
|
+
|
|
257
|
+
## Part 3: Precision Navigation - Advanced Movement {{{
|
|
258
|
+
|
|
259
|
+
### Go to Top (`gg`) and Bottom (`G`) {{{
|
|
260
|
+
|
|
261
|
+
**`gg`** - Jump to the first line of the file
|
|
262
|
+
**`G`** - Jump to the last line of the file
|
|
263
|
+
|
|
264
|
+
These are your **anchors**. No matter where you are, you can instantly return to the boundaries.
|
|
265
|
+
|
|
266
|
+
**When to use:**
|
|
267
|
+
|
|
268
|
+
- **`gg`** - Start over, return to overview
|
|
269
|
+
- **`G`** - See conclusion, check file end
|
|
270
|
+
- Combined with `zM` for instant reorientation
|
|
271
|
+
|
|
272
|
+
**Try it:**
|
|
273
|
+
|
|
274
|
+
1. Press **`G`** (you're at the bottom)
|
|
275
|
+
2. Press **`gg`** (back to top)
|
|
276
|
+
3. Press **`zM`** (collapsed overview)
|
|
277
|
+
4. Press **`G`** (see end of file, still collapsed)
|
|
278
|
+
|
|
279
|
+
}}}
|
|
280
|
+
|
|
281
|
+
### Go to Line Number (`22G`) {{{
|
|
282
|
+
|
|
283
|
+
**Format:** `{number}G` - Jump to specific line number
|
|
284
|
+
|
|
285
|
+
**Examples:**
|
|
286
|
+
|
|
287
|
+
- **`22G`** - Jump to line 22
|
|
288
|
+
- **`150G`** - Jump to line 150
|
|
289
|
+
- **`1G`** - Same as `gg` (first line)
|
|
290
|
+
|
|
291
|
+
**When this is powerful:**
|
|
292
|
+
|
|
293
|
+
- Compiler errors: "Error on line 342" → **`342G`**
|
|
294
|
+
- Reviewing PR diffs: "Check line 89" → **`89G`**
|
|
295
|
+
- Debugging logs: "Line 1523 shows the issue" → **`1523G`**
|
|
296
|
+
- Documentation references: "See line 67 for example"
|
|
297
|
+
|
|
298
|
+
**Combined with folds:**
|
|
299
|
+
|
|
300
|
+
1. Press **`zM`** (collapse all)
|
|
301
|
+
2. Press **`150G`** (jump to line 150)
|
|
302
|
+
3. Press **`za`** (open fold at that line)
|
|
303
|
+
|
|
304
|
+
You just navigated to a specific location in a 1,000-line file in **3 keystrokes**.
|
|
305
|
+
|
|
306
|
+
}}}
|
|
307
|
+
|
|
308
|
+
### Relative Line Numbers (`22j`, `15k`) {{{
|
|
309
|
+
|
|
310
|
+
**Format:** `{number}j` or `{number}k` - Move N lines down/up
|
|
311
|
+
|
|
312
|
+
**Examples:**
|
|
313
|
+
|
|
314
|
+
- **`5j`** - Move 5 lines down
|
|
315
|
+
- **`10k`** - Move 10 lines up
|
|
316
|
+
|
|
317
|
+
**When this is useful:**
|
|
318
|
+
|
|
319
|
+
- You see something 5 lines down → **`5j`**
|
|
320
|
+
- Need to go back 3 lines → **`3k`**
|
|
321
|
+
- Scanning sections with precise movement
|
|
322
|
+
|
|
323
|
+
**Pro tip:** If you enable relative line numbers (`:set relativenumber`), you can see exactly how many lines away something is and jump directly.
|
|
324
|
+
|
|
325
|
+
}}}
|
|
326
|
+
|
|
327
|
+
### Jump to Fold Boundaries (`]]`, `[[`, `]z`, `[z`) {{{
|
|
328
|
+
|
|
329
|
+
Now that you're comfortable with folds, let's add precision:
|
|
330
|
+
|
|
331
|
+
**`]]`** - Jump to **next fold start**
|
|
332
|
+
**`[[`** - Jump to **previous fold start**
|
|
333
|
+
**`]z`** - Jump to **end of current fold**
|
|
334
|
+
**`[z`** - Jump to **start of current fold**
|
|
335
|
+
|
|
336
|
+
**Scenarios:**
|
|
337
|
+
|
|
338
|
+
**Scenario 1: Scanning fold headers without opening**
|
|
339
|
+
|
|
340
|
+
1. **`zM`** (collapse all)
|
|
341
|
+
2. **`]]` `]]` `]]`** (jump between section starts)
|
|
342
|
+
3. Faster than `}` when you want fold-to-fold movement
|
|
343
|
+
|
|
344
|
+
**Scenario 2: Check fold boundaries**
|
|
345
|
+
|
|
346
|
+
1. Open a fold with **`za`**
|
|
347
|
+
2. Press **`]z`** (jump to end of current fold)
|
|
348
|
+
3. Press **`[z`** (jump back to start of fold)
|
|
349
|
+
|
|
350
|
+
**When to use:**
|
|
351
|
+
|
|
352
|
+
- **`]]` / `[[`** - Fast section-to-section navigation
|
|
353
|
+
- **`]z` / `[z`** - Understand fold scope
|
|
354
|
+
- Combined with `zM` for structural scanning
|
|
355
|
+
|
|
356
|
+
}}}
|
|
357
|
+
|
|
358
|
+
}}}
|
|
359
|
+
|
|
360
|
+
## Part 4: Your Daily Workflow - Quick Reference {{{
|
|
361
|
+
|
|
362
|
+
### The Standard Exploration Pattern {{{
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
Open file → zM (overview)
|
|
366
|
+
↓
|
|
367
|
+
}}}}} (scan headers)
|
|
368
|
+
↓
|
|
369
|
+
za (open section)
|
|
370
|
+
↓
|
|
371
|
+
Read content
|
|
372
|
+
↓
|
|
373
|
+
za (close)
|
|
374
|
+
↓
|
|
375
|
+
Repeat
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
}}}
|
|
379
|
+
|
|
380
|
+
### Common Workflows {{{
|
|
381
|
+
|
|
382
|
+
**1. Find Specific Section:**
|
|
383
|
+
|
|
384
|
+
```
|
|
385
|
+
zM → }}} → za → read → za
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**2. Check File Structure:**
|
|
389
|
+
|
|
390
|
+
```
|
|
391
|
+
gg → zM → G → gg
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**3. Jump to Known Line:**
|
|
395
|
+
|
|
396
|
+
```
|
|
397
|
+
zM → 342G → za
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
**4. Scan Multiple Sections:**
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
zM → ]] ]] za → read → za → ]] za → read
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**5. Compare Two Sections:**
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
zM → 100G → za → read → 250G → za → read
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
}}}
|
|
413
|
+
|
|
414
|
+
}}}
|
|
415
|
+
|
|
416
|
+
## Complete Command Reference {{{
|
|
417
|
+
|
|
418
|
+
### Paragraph Navigation {{{
|
|
419
|
+
- **`}`** - Next paragraph
|
|
420
|
+
- **`{`** - Previous paragraph
|
|
421
|
+
}}}
|
|
422
|
+
|
|
423
|
+
### Fold Control {{{
|
|
424
|
+
- **`zM`** - Close all folds (overview mode)
|
|
425
|
+
- **`zR`** - Open all folds (full view)
|
|
426
|
+
- **`za`** - Toggle current fold
|
|
427
|
+
- **`zo`** - Open current fold
|
|
428
|
+
- **`zc`** - Close current fold
|
|
429
|
+
}}}
|
|
430
|
+
|
|
431
|
+
### Position Jumps {{{
|
|
432
|
+
- **`gg`** - First line
|
|
433
|
+
- **`G`** - Last line
|
|
434
|
+
- **`{number}G`** - Jump to line number (e.g., `22G`)
|
|
435
|
+
- **`{number}j`** - Move N lines down (e.g., `5j`)
|
|
436
|
+
- **`{number}k`** - Move N lines up (e.g., `10k`)
|
|
437
|
+
}}}
|
|
438
|
+
|
|
439
|
+
### Fold Boundaries {{{
|
|
440
|
+
- **`]]`** - Next fold start
|
|
441
|
+
- **`[[`** - Previous fold start
|
|
442
|
+
- **`]z`** - End of current fold
|
|
443
|
+
- **`[z`** - Start of current fold
|
|
444
|
+
}}}
|
|
445
|
+
|
|
446
|
+
### Pro Tips {{{
|
|
447
|
+
- **`Ctrl+d`** - Scroll half page down
|
|
448
|
+
- **`Ctrl+u`** - Scroll half page up
|
|
449
|
+
- **`%`** - Jump to matching bracket/fold marker
|
|
450
|
+
- **`:set foldlevel=1`** - Show level 1 folds only
|
|
451
|
+
}}}
|
|
452
|
+
|
|
453
|
+
}}}
|
|
454
|
+
|
|
455
|
+
## What's Next? {{{
|
|
456
|
+
|
|
457
|
+
### You've Built the Muscle Memory {{{
|
|
458
|
+
|
|
459
|
+
If you've been navigating this file using the commands as you learned them, you've already internalized the workflow. Your fingers know:
|
|
460
|
+
|
|
461
|
+
- **`zM`** when you need overview
|
|
462
|
+
- **`}`** when you want to skip forward
|
|
463
|
+
- **`za`** when you want to read something
|
|
464
|
+
- **`gg`** / **`G`** when you need anchors
|
|
465
|
+
|
|
466
|
+
That's it. That's the foundation.
|
|
467
|
+
|
|
468
|
+
}}}
|
|
469
|
+
|
|
470
|
+
### Where to Practice {{{
|
|
471
|
+
|
|
472
|
+
**Other markdown files in this project:**
|
|
473
|
+
|
|
474
|
+
Look for files with fold markers (they'll have `{{{` and `}}}` in them):
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
# Find all markdown files with fold markers
|
|
478
|
+
rg --type md '\{\{\{' -l
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
**Your own notes:**
|
|
482
|
+
|
|
483
|
+
Start adding fold markers to your own documentation:
|
|
484
|
+
|
|
485
|
+
```markdown
|
|
486
|
+
## Section Name {{{
|
|
487
|
+
|
|
488
|
+
Content here...
|
|
489
|
+
|
|
490
|
+
}}}
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
Add this vim modeline at the top of any markdown file:
|
|
494
|
+
|
|
495
|
+
```markdown
|
|
496
|
+
<!-- vim: set foldmethod=marker foldlevel=0: -->
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
Now your notes are navigable with the same workflow.
|
|
500
|
+
|
|
501
|
+
}}}
|
|
502
|
+
|
|
503
|
+
### The Philosophy {{{
|
|
504
|
+
|
|
505
|
+
**Navigation is reading strategy.**
|
|
506
|
+
|
|
507
|
+
When you navigate well, you:
|
|
508
|
+
|
|
509
|
+
- Find what matters faster
|
|
510
|
+
- Understand structure before details
|
|
511
|
+
- Never feel overwhelmed
|
|
512
|
+
- Build knowledge systematically
|
|
513
|
+
|
|
514
|
+
Fold markers + LazyVim + muscle memory = **documentation that scales**.
|
|
515
|
+
|
|
516
|
+
Whether it's 100 lines or 10,000 lines, the workflow stays the same:
|
|
517
|
+
|
|
518
|
+
**`zM` → `}}}` → `za` → read → `za` → repeat**
|
|
519
|
+
|
|
520
|
+
}}}
|
|
521
|
+
|
|
522
|
+
}}}
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
You just navigated hundreds of lines without scrolling once. Welcome to keyboard mastery.
|
|
527
|
+
|
|
528
|
+
**Made with 🏛️ by icarus.mx** - Teaching developers to navigate complexity.
|
|
@@ -27,7 +27,7 @@ That's **three keys** just to move between panes. Way too much!
|
|
|
27
27
|
## ✅ Solution: Customize to Cmd + 0 (or any key you prefer) {{{
|
|
28
28
|
|
|
29
29
|
You can change iTerm2's pane navigation shortcuts to something simpler.
|
|
30
|
-
|
|
30
|
+
# TODO: in the end i used the GUI with cmd + , and added control and now move between panes with ctrl + 1, ctrl + 2
|
|
31
31
|
**Popular options:**
|
|
32
32
|
- `Cmd + 0` (simple, one-handed)
|
|
33
33
|
- `Cmd + Arrow` (directional)
|