Neovim Motions and Navigation
📊 Auto-Progress Tracking
TABLE WITHOUT ID
"📈 Progress" as " ",
length(filter(file.tasks, (t) => t.completed)) + "/" + length(file.tasks) + " tasks" as "Completed",
round(length(filter(file.tasks, (t) => t.completed)) / length(file.tasks) * 100) + "%" as "Progress"
WHERE file.path = this.file.path📋 Module Overview
Master efficient navigation and movement commands in Neovim using keyboard-only controls.
Estimated Time: 6-8 hours | Prerequisites: 01 - Neovim Basics
📚 Tasks & Exercises
1. Basic Movement (hjkl)
- Task 1.1: Practice h/j/k/l movement for 10 minutes daily
- Task 1.2: Navigate without using arrow keys
- Task 1.3: Use 0 and $ for line beginning/end
2. Word Movement
- Task 2.1: Learn w/b for word forward/backward
- Task 2.2: Practice e for end of word
- Task 2.3: Use W/B/E for WORD movement
- Task 2.4: Practice f/F and t/T for character search
3. Line and Screen Navigation
- Task 3.1: Use gg/G for file beginning/end
- Task 3.2: Practice :line_number to jump to lines
- Task 3.3: Learn Ctrl+u/d for half-page scrolling
- Task 3.4: Use H/M/L for screen positioning
- Task 3.5: Practice zz/zt/zb for screen centering
4. Advanced Navigation
- Task 4.1: Set marks with m{letter}
- Task 4.2: Jump to marks with ‘{letter}
- Task 4.3: Use Ctrl+o/i for jump history
📖 Resources
:h motion.txt- Neovim motion documentation- Vim Adventures - Levels 1-3
- Vimtutor lessons 2-3
Previous: 01 - Neovim Basics | Next: 03 - Neovim Text Editing