imaps.vim
文档提到了像这样的例子
例如,当您在
EFI
中输入|insert-mode|
时,您将获得以下信息:
\begin{figure}[h]
\centerline{\psfig{figure=<+eps file+>}}
\caption{<+caption text+>}
\label{fig:<+label+>}
\end{figure}<++>
我在哪里可以获得EFI
的所有兄弟姐妹的列表?所有其他映射是什么?
答案 0 :(得分:2)
:verbose imap
将输出Vim中可用的所有 INSERT 模式映射的列表,并告诉您它们的设置位置。
但似乎该插件实际上使用的是自定义IMAP()
功能,而不是常规imap
或inoremap
。我不确定上面的命令会有什么帮助。
我在ftplugin/latex-suite/bibtex.vim
中看到了一堆这样的自定义映射,ftplugin
目录周围可能还有更多的自定义映射。
我会在:vimgrep IMAP *.vim<CR>
然后ftplugin
执行:copen
之类的操作来访问所有出现的内容。
答案 1 :(得分:0)
除了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.
答案 2 :(得分:0)
我在:help latex-suite
中的3.1节环境映射