iggredible/Learn-Vim
iggredible/Learn-Vim has 15,362 GitHub stars and 1,144 forks. GitHot measured +3 stars in 24 hours and +18 in 7 days. Last checked 2026-11-05 22:03 UTC. Last push 2026-09-07.
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for 📖
Measured star growth
- in 24h
- +3
- in 7 days
- +18
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalLearn Vim (the Smart Way)
What's This?
Learn Vim (the Smart Way) is a guide to learn the good parts of Vim.
There are many places to learn Vim: the vimtutor is a great place to start and the help manual has all the references you will ever need. However, the average user needs something more than vimtutor and less than the help manual. This guide attempts to bridge that gap by highlighting only the key features to learn the most useful parts of Vim in the least amount of time possible.
This guide is written for both beginner and advanced Vimmers. It starts out with broad and simple concepts and ends with specific and advanced concepts. If you're an advanced user already, I encourage you to read this guide from start to finish anyway, because you may learn something new!
Read Locally (with Docker)
You can read this book locally with Docker. Just run:
docker compose -f book/docker-compose.yml up --build
Then open http://localhost:8080.
I Want More Vim Tips!
I sometimes blog about Vim on my personal site, irian.to.
Follow @learnvim for updates, Vim tips, etc.
Support This Project
This guide is and will always be free.
If you want to financially support this project, you can either purchase this guide on Leanpub or buy me a coffee!
Table Of Contents
Prologue
Part 1: Learn Vim the Smart Way
- Ch 1 - Starting Vim
- Ch 2 - Buffers, Windows, and Tabs
- Ch 3 - Opening and Searching Files
- Ch 4 - Vim Grammar
- Ch 5 - Moving in a File
- Ch 6 - Insert Mode
- Ch 7 - The Dot command
- Ch 8 - Registers
- Ch 9 - Macros
- Ch 10 - Undo
- Ch 11 - Visual Mode
- Ch 12 - Search and Substitute
- Ch 13 - The Global Command
- Ch 14 - External Commands
- Ch 15 - Command-line Mode
- Ch 16 - Tags
- Ch 17 - Fold
- Ch 18 - Git
- Ch 19 - Compile
- Ch 20 - Views, Sessions, and Viminfo
- Ch 21 - Multiple File Operations
Part 2: Customize Vim the Smart Way
Part 3: Learn Vimscript the Smart Way
- Ch 25 - Vimscript Basic Data Types
- Ch 26 - Vimscript Conditionals And Loops
- Ch 27 - Vimscript Variable Scopes
- Ch 28 - Vimscript Functions
- Ch 29 - Plugin Example: Writing a Titlecase Plugin
Translations
- Learn-Vim 中文翻译(
zh-CN) - Learn-Vim Spanish(
es)
License & Copyright
The materials here are all © 2020-2021 Igor Irianto.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
532,045 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,036 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,371 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
332,860 stars

