`. 快捷方式不会扩展为 \cdot

`. 快捷方式不会扩展为 \cdot

根据 latex-suite 文档,`.应该扩展为\cdot但这对我来说不起作用。所有其他缩写(希腊字母和数学)都可以。我试着看了一下~/.vim/ftplugin/main.vim,看起来不错:

call IMAP (g:Tex_Leader.'.', '\cdot', "tex")

或者至少它与其他缩写设置相同。`我查看了wizardfuncs.vim和(全部在路径中),因为我不知道 vim 实际上读取了哪个文件,并且有以下几行:mathmacros.vimmathmacros-utf.vim~/.vim/ftplugin/

\."\n `.     \\cdot             `*     \\times"

exe s:pA8.'cdot<Tab>`.              <plug>\

exe s:pA8.'cdot<Tab>`.\ \ ⋅              <plug>\cdot '

与其他缩写格式没有区别。即使手动输入

call IMAP('`.', '\\cdot', 'tex')

无法解决~/.vimrc

我知道这不是什么大问题,但我有点好奇为什么`.它无法解决......

答案1

这与智能点键映射会自动替换...\cdots\ldots\dots(视情况而定)。如果您通过添加

let g:Tex_SmartKeyDot=0

$VIMFILES/ftplugin/tex.vim,则键映射将按预期工作。

发生这种情况是因为函数的实现方式SmartDots():vim-latex 监视任何.插入,如果只有 1 个或 2 个连续的点,函数将分别返回...。当它看到三个连续的点时,它会插入适当的“点”宏。这似乎会覆盖任何 IMAP 映射,因为最后一个.不是由用户插入的,而是由函数返回的。您还可以通过添加映射来测试这一点,例如

call IMAP('TEST.', 'test', 'tex')

只要启用智能点,它就不起作用。

如果您使用amsmathellipsis包,那么这\dots就是您所需要的。要使用“。”键映射,您只需添加

let g:Tex_SmartKeyDot=0
call IMAP('...', '\dots', 'tex')

$VIMFILES/ftplugin/tex.vim

相关内容