explaingit

iggredible/learn-vim

Analysis updated 2026-06-24

15,056DockerfileAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A free online book that teaches Vim from first commands through vimrc customisation and Vimscript plugin writing, with chapters readable on GitHub or locally via Docker.

Mindmap

mindmap
  root((Learn Vim))
    Inputs
      Markdown chapters
      Docker compose
    Outputs
      Online book
      Local web book
      Reference guide
    Use Cases
      Learn Vim basics
      Master motions and macros
      Customise vimrc
      Write plugins
    Tech Stack
      Markdown
      Docker
      Vimscript
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read it cover to cover to go from Vim beginner to comfortable daily user.

USE CASE 2

Use it as a reference for advanced topics like the global command, registers and macros.

USE CASE 3

Learn enough Vimscript to write a small custom plugin or tweak your vimrc.

USE CASE 4

Host the book locally with Docker to read offline in a styled format.

What is it built with?

MarkdownDockerVimscript

How does it compare?

iggredible/learn-vimjaywcjlove/referencejessfraz/dockerfiles
Stars15,05615,10413,934
LanguageDockerfileDockerfileDockerfile
Last pushed2026-05-19
MaintenanceMaintained
Setup difficultyeasyeasymoderate
Complexity1/51/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Just read it on GitHub, or run a single docker compose up to serve the styled book on localhost:8080.

Creative Commons BY-NC-SA 4.0: share and adapt freely with credit, non-commercial only, derivatives must use the same license.

In plain English

This repository is a free book called Learn Vim (the Smart Way). Vim is a keyboard-driven text editor with a steep learning curve, and the author Igor Irianto wrote this guide to teach the parts of Vim that are actually worth learning. The README explains the gap it tries to fill: the built-in vimtutor program is too short, the official help manual is too dense, and most readers want something in between. The book is aimed at both beginners and experienced Vim users. It starts with broad, simple ideas and works up to more specialised topics. The author says even experienced users may find something new by reading it from the start. You can read it on GitHub by clicking the chapter links in the README, but you can also read it locally as a styled book using Docker. The README gives a single docker compose command that builds and serves the book at http://localhost:8080. The project is free, but the author offers two optional ways to support it: buying the book on Leanpub or sending a tip through Buy Me a Coffee. The table of contents is in the README. Part 1, called Learn Vim the Smart Way, is the core editor course: starting Vim, buffers and windows and tabs, opening and searching files, the grammar of Vim commands, moving inside a file, insert mode, the dot repeat command, registers, macros, undo, visual mode, search and substitute, the global command, running external commands from inside Vim, command-line mode, tags, folding, Git, compiling, views and sessions, and operations across multiple files. Part 2 is about customisation: the vimrc config file, package management, and the runtime directory. Part 3 covers Vimscript, the editor's built-in scripting language, including data types, conditionals and loops, variable scopes, functions, and a worked example of writing a small plugin that converts text to title case. The README also lists community translations: a Chinese version on wsdjeg.net and a Spanish fork on GitHub. Material is copyright Igor Irianto, 2020 to 2021, and licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0, which means you can share and adapt it freely as long as you credit the author, do not sell it, and release derivatives under the same license.

Copy-paste prompts

Prompt 1
Give me a 2-week study plan for Learn Vim the Smart Way that takes me from zero to comfortable with motions, macros and registers.
Prompt 2
Summarise the chapter on the dot command and give me three practice exercises I can do in an empty buffer.
Prompt 3
Walk me through the Vimscript chapter and help me write a small plugin that converts the current word to snake_case.
Prompt 4
Take my current .vimrc and suggest the three smallest changes that match the philosophy in this book: <paste vimrc>.
Prompt 5
Run the book locally with docker compose on port 8080 and explain what each service in the compose file does.

Frequently asked questions

What is learn-vim?

A free online book that teaches Vim from first commands through vimrc customisation and Vimscript plugin writing, with chapters readable on GitHub or locally via Docker.

What language is learn-vim written in?

Mainly Dockerfile. The stack also includes Markdown, Docker, Vimscript.

What license does learn-vim use?

Creative Commons BY-NC-SA 4.0: share and adapt freely with credit, non-commercial only, derivatives must use the same license.

How hard is learn-vim to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is learn-vim for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.