Many Vim plugins use variables to allow users to customize hotkeys to do some features. For example, users have to write let g:plugin_feature_hotkey = '<F2>' or something like this into their vimrc to customize the hotkey to do a feature of a plugin.
But this method has the following problems:
g:plugin_feature_hotkey and use the resulted key sequence as the hotkey. In this case, users cannot assign any key sequences to hotkeys.The better way to customize hotkeys is: (1) plugins provide a "named" key sequence for each feature like <Plug>(plugin-feature); (2) users use :map and other commands to map any key sequences to the "named" key sequence.
This method doesn't have the above problems, and it has the following merit for authors of plugins:
" Named key sequences
nnoremap <silent> <Plug>(fakeclip-p)
\ :<C-u>call fakeclip#put('', 'p')<Return>
nnoremap <silent> <Plug>(fakeclip-Y)
\ :<C-u>call fakeclip#yank_Y()<Return>
...
" Default hotkeys
nmap "*p <Plug>(fakeclip-p)
nmap "*Y <Plug>(fakeclip-Y)
nmap "*yy <Plug>(fakeclip-Y)
...
and users can use the named key sequences for their customization as follows:
" Like the one of MS-Windows nmap <C-v> <Plug>(fakeclip-p)(the above examples are excerpted from fakeclip)
So that every plugin should provide "named" key sequences like <Plug>(plugin-feature) to customzie hotkeys, not variables like g:plugin_feature_hotkey.