🎓 Vim Learning Guide for Complete Beginners
This guide helps you progress from Vim beginner to LazyVim power user.
📍 Where You Are Now
You’re a complete Vim beginner - that’s perfect! This setup gives you both:
- Basic Vim (
vimcommand) - for learning fundamentals - LazyVim (
nvimcommand) - for when you’re ready for IDE features
🎯 The Learning Path
Week 1-2: Master the Basics
Step 1: Run vimtutor (30 minutes)
vimtutorThis is Vim’s built-in tutorial. It teaches you the essentials interactively.
Step 2: Practice with Basic Vim
vim ~/practice.txtMust-Learn Basics:
- Modes: Normal (default), Insert (typing), Visual (selecting)
- Movement:
h(left),j(down),k(up),l(right) - Enter Insert mode:
i(before cursor),a(after cursor),o(new line below) - Exit Insert mode:
Esc - Delete:
x(char),dd(line) - Copy/Paste:
yy(copy line),p(paste) - Save/Quit:
:w(save),:q(quit),:wq(save & quit),:q!(quit without saving) - Search:
/searchtermthenn(next),N(previous)
Daily Practice (15 minutes):
- Day 1-3: Movement and modes
- Day 4-7: Editing commands (delete, copy, paste)
- Day 8-14: Search and file operations
Week 3-4: Build Muscle Memory
Step 3: Real Work with Basic Vim
Start using vim for actual work:
vim README.md
vim script.sh
vim config.yamlNew Commands to Learn:
w- move forward by wordb- move backward by word0- start of line$- end of linegg- top of fileG- bottom of fileu- undoCtrl-r- redov- visual mode (select text)d+ motion - delete (e.g.,dwdelete word,d$delete to end of line)c+ motion - change (delete and enter insert mode)
The Rule: No Arrow Keys!
Force yourself to use h, j, k, l. Uncomfortable at first, but this is where the power comes from.
Week 5+: Graduate to LazyVim
Step 4: Launch Neovim with LazyVim
nvimOn first launch:
- LazyVim will install plugins (1-2 minutes)
- Don’t panic! This is automatic
- You’ll see a welcome screen when done
Step 5: Discover Features Gradually
Press Space and wait - a help menu appears showing available commands!
Start with These LazyVim Features:
File Navigation:
Space ff- Find files (fuzzy search)Space fg- Find text in files (grep)Space e- Toggle file explorerSpace fr- Recent files
Window Management:
Ctrl-h/j/k/l- Move between windowsSpace w- Window commands
Git:
Space gg- Open LazyGit (amazing Git UI)Space gb- Git blame
Code Intelligence:
K- Show documentationgd- Go to definitionSpace ca- Code actions
Help System:
Space ?- Show all keybindingsSpace sk- Search keymaps:h topic- Help on any topic
🎯 Learning Philosophy
The Right Way to Learn
- Start Slow: Master basic movement first, then build up
- Muscle Memory Over Speed: Accuracy matters more than speed initially
- One Command Per Day: Learn one new command each day, use it deliberately
- No Plugins Until Basics: Don’t jump to LazyVim too early
- Embrace the Discomfort: First 2 weeks are hard - push through!
Common Beginner Mistakes to Avoid
❌ Jumping to LazyVim too early - You’ll rely on mouse and IDE features instead of learning Vim ❌ Using arrow keys - Defeats the purpose of Vim’s efficiency ❌ Trying to learn everything at once - Overwhelming and ineffective ❌ Giving up in week 1 - Everyone struggles initially, stick with it! ❌ Not using vimtutor - Best 30 minutes you can invest
When to Graduate to LazyVim
You’re ready for LazyVim when you can:
- ✅ Navigate files without thinking about
h/j/k/l - ✅ Switch between modes naturally
- ✅ Delete, copy, paste without looking up commands
- ✅ Search and replace text
- ✅ Work for 30+ minutes without touching the mouse
Usually takes 2-3 weeks of daily practice.
🆘 When You Get Stuck
Stuck in Vim and Can’t Exit?
Press: Esc
Type: :q!
Press: Enter
Accidentally Entered Command Mode?
Press: Esc a few times
Made Changes You Don’t Want?
Press: Esc
Type: :q!
Press: Enter
Want to Save and Exit?
Press: Esc
Type: :wq
Press: Enter
📚 Resources
Interactive:
vimtutor- Built-in tutorial (run in terminal)- Vim Adventures - Learn Vim through a game
Reading:
- OpenVim - Interactive Vim tutorial
- Practical Vim by Drew Neil - Excellent book (recommended after basics)
LazyVim Specific:
💡 Pro Tips
- Configure your terminal to treat Alt/Option key correctly for Aerospace window management
- Keep basic Vim for quick edits and server work (where LazyVim isn’t available)
- Use which-key in LazyVim - Press Space and wait to discover commands
- Learn one workflow at a time - Master file navigation before diving into LSP features
- Customize gradually - LazyVim works great out of the box, only customize when you know what you need
🎉 The Payoff
After 2-3 weeks:
- You’ll edit text faster than with any GUI editor
- You’ll work without touching the mouse
- You’ll have a skill that works on every Unix system
- You’ll understand why developers love Vim
Stick with it! The initial learning curve is steep but absolutely worth it.
Need help?
- In Vim: Type
:help - In LazyVim: Press
Spaceand wait for which-key - In this repo: Read
dotfiles/nvim/.config/nvim/README.md