Vim无法识别来自Vim的某些命令
我已经通过Vundle安装了Vim无法识别来自Vim的某些命令,vim,latex-suite,Vim,Latex Suite,我已经通过Vundle安装了vim latex,我正试图禁用它默认设置的一些恼人的映射。例如,从中我知道,我可以使用以下命令取消映射FEM: call IUNMAP('FEM','tex') 但是当我输入时,我得到了错误E117:Unknown function:IUNMAP 我已经用Vundle安装了vim latex,在我的vimrc中包含了Plugin'latex Suite aka vim latex',我刚刚使用PluginUpdate命令更新了所有内容,运行时没有错误,因此我应该拥
vim latex
,我正试图禁用它默认设置的一些恼人的映射。例如,从中我知道,我可以使用以下命令取消映射FEM:
call IUNMAP('FEM','tex')
但是当我输入时,我得到了错误E117:Unknown function:IUNMAP
我已经用Vundle安装了vim latex
,在我的vimrc
中包含了Plugin'latex Suite aka vim latex'
,我刚刚使用PluginUpdate
命令更新了所有内容,运行时没有错误,因此我应该拥有最新版本的软件包
我在这里遗漏了什么吗?只有在处理vimrc之后,vim latex插件才会加载函数IMAP()
和IUNMAP()
。因此,您需要在它们可用的上下文中执行它们
此外,为了成功取消映射,您需要在创建映射后实际执行它,并且通常在设置文件类型时创建映射
其中提到,这些覆盖规则应在特定文件中执行:
需要注意的一点是,如果您希望超越由Latex Suite创建的宏,而不仅仅是创建新的宏,那么您应该将IMAP()
(或IUNMAP()
)调用放在脚本中,该脚本在Latex Suite中的文件之后获得源代码
一个好位置通常是~/.vim/after/ftplugin/
目录中的文件类型插件文件。[…]
例如,要删除映射,可以使用
call IUNMAP('FEM', 'tex')
在~/.vim/after/ftplugin/tex\u macros.vim
中
文档中提到,您应该在使用的文件类型之后使用
ftplugin
中的文件。检查:设置ft?
以确认您的确实是tex
,在这种情况下,您可以使用tex.vim
,tex\u something.vim
(如建议的tex\u macros.vim
)或tex/something.vim
(子目录)。<,你遇到的问题与你从哪里获得vim乳胶有关
与:
你会注意到,它自2010年以来就没有更新过。查看该存储库中的plugin/imaps.vim
文件,您将看到函数IMAP()
,而不是IUNMAP()
,它可能是在上次同步存储库之后引入的
请改用此源:
Plug 'vim-latex/vim-latex'
它将从该插件的官方维护位置获取
如果您查看源代码树中的plugin/imaps.vim
,您会注意到函数!IUNMAP
在此处定义
更新到正确的插件位置应该可以为您解决此问题(可能还有过去10年中的许多修复!)是的,您丢失了。请看一看。@EnricoMariaDeAngelis有用的链接。但是,我通过Vundle安装了
vimtex
,在尝试IUNMAP
命令时仍然得到了相同的结果我的注释是注释,而不是解决方案。然而,从您的链接来看,IUNMAP
似乎是Vim LaTeX的东西。因此,如果切换到VimTeX,就不必担心它的映射。卸载VIM乳胶,然后忘记它。考虑使用<代码>插头VIM胶乳/VIM胶乳'< /代码>以获得VIM胶乳,这看起来是一个更官方的权威来源。实际上,<代码> FTTY任何东西。VIM < /代码>和<代码> ft/任何东西。vim < /代码>将工作to.d.BunKnabl啊!我知道ft/something.vim,但不知道下划线也起作用。。。我会更新答案。谢谢你的接球!啊,真不敢相信我错过了。。。。在我的辩护中,这些名字并不能让这件事很容易被发现
Plug 'vim-latex/vim-latex'