В дополнение к vimgrep вы можете анализировать исходный код функции IMAP (). Это небольшая функция, и из ее кода вы можете видеть, что она сохраняет информацию в локальные переменные скрипта, а те, у которых правые части отображений, равны s:Map_.*
, а левые - s:LHS_*
. Так что вы должны сделать
" Arguments do not matter, all you need is to start a debugger
" with appropriate context
debug call IMAP(0,0,0)
" step into IMAP function
s
" Generate and show a table filetype - list of mapping LHSs
echo "Ft\tLHSs\n".join(map(items(filter(copy(s:), 'v:key[:3] is# "LHS_"')), 'v:val[0][4:(stridx(v:val[0], "_", 4)-1)]."\t".join(split(v:val[1], "\\\\|"))'), "\n")
" Interrupt function so that it won’t do anything
q
" Note that in debugger “q” command is doing an interrupt, not quits vim.