I am a Vim user. I’ve been using Vim for nearly 20 years. Before I used Vim I used other Vi clones such as Elvis, nvi, and Vile. These days I mostly use Neovim instead of vanilla Vim.
Neovim’s home is here.
Vim’s home is here.
Daily Neovim packages (for Ubuntu-compatible systems) here.
Daily Vim packages (for Ubuntu-compatible systems) here.
Most Vim advice is transferrable to Neovim and vice-versa. Most plugins will work on both, but you need to be aware that this isn’t always the case.
For the true novice, or those wondering if Vim is right for you, there is vim-galore which does a lot of explaining. There’s the Don’t Use Vim (for the wrong reasons) document. Perhaps everyone should read it first.
If you are brand new to Vim you should run vimtutor. vimtutor is a program that comes with Vim that teaches you the basics of Vim. Once you finish that you can read the User Manual.
An excellent resource for learning how to use Vim is Vimcasts.
Don’t know where to start with your .vimrc? Try Vim Bootstrap.
Lots of good videos may be found at Youtube. For beginners I highly recommend Josh Branchaud’s on-going series of very short videos. For more experienced users I can recommend Greg Hurrell’s on-going series. Also check out the Vim-related Thoughtbot videos (including one of the most well-known: How To Do 90% of What Plugins Do (With Just Vim)).
For enlightenment via written word, the Reddit Vim subreddit is actually pretty good (most of the time), as is the Neovim subreddit. Check out the Reddit Vim wiki. Romain Lafourcade has a number of very good gists going over a diverse set of Vim topics (also see here). Hashrocket has a series of posts about Vim. As does thoughtbot (also see The Art of Vim). There is the StackOverflow tagged questions. There is also a dedicated Vim Stack Exchange.
Speaking of Reddit, here is a good discussion on r/vim about .vimrc options that people use and why. I found a few good tips while reading it.
If you’re up for a challenge check out Vim Golf or Vim Adventures.
I’ve mentioned these sites elsewhere, but it can’t hurt to mention them more than once. First is Vim Awesome which has user ranked and categorized lists of plugins. Second is Vim Colors which is a great resource for finding a good theme for your Vim setup. And third, you should look at Awesome Neovim if you are a Neovim user. It has a very nice list of many Neovim specific plugins.
Bram Moolenaar wrote about the Seven Habits of Effective Text Editing over two decades ago. He uses Vim in his examples but it seems relevant for any text editor.
The Vimways advent calendars are very good for beginner or expert:
Plugins
My curated (somewhat) list of plugins.
Plugin Development
If you are interested in writing Vim/Neovim plugins there are some good on-line sources:
- Learn Vimscript in Y minutes
- Learn Vimscript the Hard Way - perhaps buy the book, if you can find it
- Vim Script For the Javascripter - looks like it would be useful for non-Javascripters as well
- Vim 9 Script - documentation for the upcoming Vim 9 script. If you have a recent enough Vim you may be able to view it using :h.
- Notes on the design on lh-vim-lib - some general advice on Vimscript development
- Getting Started using Lua in Neovim - help with the Neovim Lua API
Articles
Learning / Using
- Vim for Beginners
- Vim for Intermediate Users
- Vim for Advanced Users
- Vim for Adept Users
- Vim for Veteran Users
- Vim Tips & Tricks
Buffers / Tabs
- Understanding the Buffer List In Vim: Part 1
- Why do Vim experts prefer buffers over tabs?
- Vim Buffer FAQ
- Vim Tab Madness. Buffers vs Tabs
Lists
- Effective editing of multiple files in Vim - talks about argdo, bufdo, and windo
- Vim’s Useful Lists - a detailed look at all of Vim’s lists and how to use them
Code Development
Config
Plugins
- Vim plugins that I use - a list of someone’s Vim plugins. Useful to see if there are plugins you are unfamiliar with.
- Vim Plugins I Like - another list of someone’s plugins