Vim resources
Installation and documentation
- https://github.com/vim/vim — official Vim repository
- :h usr_90.txt — user manual for installation, common issues, upgrading, uninstallation, etc
- vimhelp: help.txt — HTML version of the Vim help pages like 'Getting Started', 'Editing Effectively', reference manuals, etc
- vimhelp: quickref.txt — Overview of the most common commands you will use
- vimhelp: vim_faq.txt — created from the questions and answers posted to the
vim@vim.org
user mailing list and thecomp.editors
newsgroup
After installation, use vimtutor
(or gvimtutor
) command for a "30-minute tutorial that teaches the most basic Vim functionality hands-on".
Text Tutorials
- Vim primer — learn Vim in a way that will stay with you for life
- Vim galore — everything you need to know about Vim
- Learn Vim progressively — short introduction that covers a lot
- Vim from the ground up — article series for beginners to expert users
Books
- Vim Reference Guide — my ebook, suitable for beginner to intermediate level users
- Practical Vim — published 2015, updated for Vim 8 in 2017
- Mastering Vim Quickly — first published 2017
- Learn Vimscript the Hard Way — customize vim, plugins and more, written for Vim 7.3
- Vim book by Steve Oualline — published 2007
Interactive learning
- vimtutor-sequel — advanced lessons
- OpenVim — interactive tutorial
- Vim Adventures — learn Vim by playing a game
- Learn vim and learn it fast — interactive lessons designed to help you get better at Vim faster
Cheatsheets
- Cheatsheet in multiple languages — shows up as embedded content in DuckDuckGo search as well
- devhints: Vim cheatsheet
- devhints: Vimscript cheatsheet
- shortcutfoo — has nice animation for some of the shortcuts
Customizing Vim
- vi.stackexchange: What is the Vim8 package feature and how should I use it?
- Awesome Vim plugins
- Vim as IDE
- stackoverflow: Switching between files rapidly using vanilla Vim
- How to Do 90% of What Plugins Do (With Just Vim)
- Using template files — templates or skeletons, allow you to specify a template to be used for new files with a certain extension
- Using Vim's abbreviations — automate things in insert mode
- vim-bootstrap — provides a simple method of generating a
.vimrc
based on programming languages you use
Tips and Tricks
- vi.stackexchange: Navigating Vim's documentation
- stackoverflow: How do I find out what a vim command does?
- vi.stackexchange: How do I debug my vimrc file?
- stackoverflow: What is your most productive shortcut with Vim? — top answer is one of the best presentation on the capabilities of
vi
- stackoverflow: tips and tricks thread
- Q&A on stackoverflow sorted by votes
- Q&A on vi.stackexchange sorted by votes
- Vim tips and tricks thread at /r/vim
- Best of Vim Tips
- Vim's built-in completion mechanisms (video) — let Vim do the typing, writing fewer typos and faster
- Comprehensive illustration of navigating modes
- stackoverflow: Save and restore multiple different sessions
- Vimcasts — 76 free screencasts and 52 articles
Further Reading
- VimGolf — Real Vim ninjas count every keystroke
- Awesome Vim — plugins organized by section
- Why use vim
- Built-in man pager in Vim
- Things about vim I wish I knew earlier
- Tabs vs Buffers
Forums
Read instructions provided by respective forums before asking a question. Try solving it yourself before asking — searching online, manual, ask a colleague, etc.