从哪里可以获得IMAPS.vim插件的所有默认IMAP列表?

从哪里可以获得IMAPS.vim插件的所有默认IMAP列表?,vim,mapping,Vim,Mapping,imaps.vim文档中提到了类似的示例 例如,当您在|插入模式中键入EFI时,您将得到以下信息: \begin{figure}[h] \中心线{\psfig{figure=} \标题{} \标签{图:} \结束{图} 我在哪里可以获得EFI的所有兄弟姐妹的列表?其他映射是什么 :verbose imap 将输出Vim中可用的所有插入模式映射的列表,并告诉您它们的设置位置 但该插件似乎实际上使用了一个自定义的IMAP()函数,而不是常规的IMAP或inoremap。我不确定上面的命令会有什么

imaps.vim
文档中提到了类似的示例

例如,当您在
|插入模式
中键入
EFI
时,您将得到以下信息:

\begin{figure}[h]
\中心线{\psfig{figure=}
\标题{}
\标签{图:}
\结束{图}
我在哪里可以获得
EFI
的所有兄弟姐妹的列表?其他映射是什么

:verbose imap
将输出Vim中可用的所有插入模式映射的列表,并告诉您它们的设置位置

但该插件似乎实际上使用了一个自定义的
IMAP()
函数,而不是常规的
IMAP
inoremap
。我不确定上面的命令会有什么帮助

我在中看到了一些自定义映射,在
ftplugin
目录中可能有更多的映射


我会在
ftplugin
中执行类似
:vimgrep IMAP*.vim
的操作,然后
:copen
访问所有事件。

除了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.

我在第3.1节“环境映射”中的
:help latex suite
中找到了它


imaps.vim?我想你是这个意思吧。您在哪里找到引用的行/文档?@ldigas,就在这里:注意措辞
verbose map
永远不会列出所有键盘映射,它只会列出普通、可视和操作员挂起的映射,而从函数名称可以明显看出TS需要插入模式映射。感谢ZyX,我已经用显示插入模式映射的
:verbose imap
修改了我的答案。
" 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.