Detect if a key is bound to something in vim

I'd like to know if there is a way to figure out if a key does something in vim. I know that I can use :map to see user-defined mappings, but is there something for the built-in stuff?

For example, I always had CTRL-W bound to close tab, because I thought that it was unused. After half a year, I found out that there are some sequences that use it, like CTRL-W CTRL-S to split the window, and it was a nightmare to retrain myself.


If you check out the suggested answer by Randy Morris you will find that

:help index 

will give you the list you want.


To check the default mapping:

:help index

For other mapping that is done by either users or plugin:

:map
:map!

From http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(Part_1):

The first command displays the maps that work in normal, visual and select and operator pending mode. The second command displays the maps that work in insert and command-line mode.

Typically the output of the above commands will span several pages. You can use the following set of commands to redirect the output to the vim_maps.txt file:

:redir! > vim_maps.txt
:map
:map!
:redir END

Not a complete answer, but you may want to check out :help map-which-keys for a list of keys that vim recommends you to use in your custom maps.

That help section has a recommendation of how to tell if a specific key is mapped to an action.