Vim is a ~~cleaning product~~ (primarily) terminal-based modal text editor first released in 1991. Despite its old age, it is still one of the most popular text editors for editing source code thanks to its text editing power and flexibility.
Setting up Vim
You can read more about setting up Vim in our Dotfiles wiki.
A built-in interactive tutorial covering all of Vim's features. You can access vimtutor by typing vimtutor into your terminal emulator.
A browser-based game that teaches you how to use Vim. Only the first level is free, and you have to pay for the others.
Getting Started with Vim: An Interactive Guide
An introduction article that features an interactive, in-browser Vim-like editor in which you can try out various stuff the article teaches you.
Another browser-based game. This one focuses on mastering hjkl keys for movement and entering and exiting insert mode.
* Practical Vim, by Drew Neil
Probably the best book on Vim around. An excellent resource for both beginner and intermediate users.
- Learning the Vi and Vim Editors, by Arnold Robbins, Elbert Hannah & Linda Lamb
Another really good resource for learning both Vim and its predecessor, Vi.
* Vim video series, by Derek Wyatt
An excellent in-depth video series covering both beginner, intermediate, and advanced topics. There are also some videos showcasing Vim's features and explaining what makes it so powerful.
Vimcasts, by Drew Neil
Screencasts in the vein of Railscasts and Ruby Tapas, short and educational videos covering various Vim-related topics. The author of Vimcasts is also the author of the Practical Vim book.
Destroy All Software, by Gary Bernhardt
Although not primarily a Vim screencast, some episodes are focused exclusively on Vim.
Articles * Vim Galore, by mhinz An extensive article hosted on GitHub covering all the Vim basics and terminology.
Coming Home to Vim, by Steve Losh
Steve Losh talks about moving away from Vim to TextMate, and then back to Vim. He explains in-depth why he moved back, goes through some default configurations that make Vim saner, offers some tips on using Vim and goes through a bunch of useful plugins.
Everyone Who Tried to Convince Me to use Vim was Wrong, by Yehuda Katz
Although not a tutorial per se, this article covers a very important topic—how to approach learning Vim and lose as little productivity as possible while doing it.
Why Atom Can't Replace Vim, by Mike Kozlowski
Another article explaining the difference between Vim and another editor—in this case, Atom. Focuses on the Emacs paradigm (extensibility) vs Vim paradigm (composability), and why the Emacs paradigm alone can't replace the Vim paradigm.
Effective Rails Development with Vim, by Islam Wazery A really good article for Rails development, that goes through the features of the excellent rails-vim plugin, as well as a couple of other plugins that make development in Rails much nicer.
Make sure you remap your Caps Lock to Escape
You might think you'll miss the Caps Lock key, but in reality, it's much less useful than it seems, and the convenience of having your Escape key so close to your pinky is invaluable when switching from insert mode to normal mode. Once you get used to it, you'll never go back.
Use Infinum's dotfiles before you learn how to configure Vim. Vim requires some configuration in order to look nicer, and to make it a bit saner to use since its default configurations are pretty bad. The dotfiles also install some necessary plugins that you won't be able to live without.
Colorschemes * Vim Colors
Cheat sheets * Interactive cheat sheet
* Effective TDD with Ruby: Tmux Setup, by Luca Guidi
Talks about using Tmux and Vim to improve your TDD flow
* Why Vim, by LegionSB
A reddit post about the everlasting topic of why to use Vim. A pretty funny, kinda correct and in-depth post, definitely worth reading.