Vim has a user manual (:help usr_toc
) that covers all of these topics. It's good to browse through in general and can be a good starting point when you're thinking How do I do X in Vim?
. Opening up that help and doing a search is a good place to start.
Another important item for using the help is to get used to using the context-specific help -- :help help-context
. Some help topics are ambiguous unless you include the proper context.
That being said, here are the sections about the specific topics you bring up.
.vimrc
:help vimrc-intro
describes the basic info about where the vimrc lives and provides some example settings. Since the vimrc is just another vim script, the scripting section of the user manual (:help usr_41
) is also useful.
vimscript functions
These are covered in the scripting part of the manual mentioned above, but there are specific sections on using functions (:help 41.6
) and defining functions (:help 41.7
).
regular expressions
:help usr_27
describes searching and covers some regular expressions, but :help pattern.txt
is the canonical section of the reference manual for all things related to Vim regular expressions
key mappings
:help 40.1
covers all the high level details and :help key-mapping
goes into all the nitty-gritty details.
plugins
The basic how
of adding a plugin to your configuration is described at (:help 05.4
) but typically people use a plugin manager to handle this now. Plugin managers provide, at a minimum, better isolation of plugins and the ability to easily enable/disable plugins.
swap file
Swap files provide a means of recovery, as described in :help usr_11
. In a related answer, I've described this as well as ways to manage swap files.
tabs (tab pages)
Tab pages are basically viewports, or ways to organize windows. :help 08.9
gives a brief overview of what a tab page is, but :help tab-page
gives more info on how to actually use them.
panes (split windows)
Split windows (:help 08.1
) provide a way to view multiple buffers (or different views of the same buffer) at once. When Vim mentions a horizontal or vertical split, this is referring to the orientation of the actual line that splits two windows, not the orientation of the windows in reference to each other.
selection ranges (command ranges)
I think you're referring to the ranges automatically added to a command when you press :
in visual mode (:'<,'>
), however ranges can describe much more than just the visual selection.
:help 10.3
describes the general usage, but :help cmdilne-ranges
has all the details.
! (running external commands)
:help 21.2
describes the various ways that external programs can be used -- directly executing one-off commands (:!
), reading output from a command into the buffer (:r !{cmd}
), sending the buffer to a command as in put (:w !{cmd}
), and filtering a buffer through a program (:[range]!{cmd}
).
:help
. For an introduction / overview of Vim, there are tons of web pages, vimcasts.org, or even a number of books.