取消 Vim 插件映射

8

有没有一种方法可以取消插件设置的映射?我目前在我的.vimrc文件中在自定义映射之前调用exe ":mapclear",但插件文件似乎是在vimrc文件之后被源代码化的。我必须重新加载我的vimrc文件才能按预期工作。

我正在使用Pathogen来源化插件,它们都包含在我的~/.vim/bundle文件夹中。

2个回答

6
你可以将.vimrc文件中的映射部分写入另一个文件,例如MyMaps.vim,并将此文件放置在~/.vim/after/plugin/目录下。这样就可以将你的映射设为默认值。
同时,还要查看插件的文档以了解它们设置映射的方法,其中一些允许你重新定义或禁用默认映射。

谢谢,这听起来是个很酷的技巧,但它会使我的配置与我的 .vimrc 文件断开连接。 - wlue
关于将配置保存在一个地方的问题,您可以创建一个包含映射的函数,然后使用自动命令每次进入缓冲区时调用该函数:autocmd BufEnter * call MyMaps()。这将允许您将配置保存在您的 .vimrc 文件中。我不知道如何设置第二个 mapleader。 - skeept

-1

在查看我的各种插件时,我找到了一种解决方案。

不幸的是,很多插件(例如vim-surround和vim-align,它们又使用cecutil)会向我的mapleader添加命令。由于我意识到实际上有一些来自我使用的插件的键映射,因此我决定在我的vimrc文件末尾将我的mapleader设置回其默认值(反斜杠),以防止重叠。

我遇到的唯一问题是在函数中设置的映射。例如,当使用au FileType html call ConfigHTML()时,ConfigHTML()函数实际上会在mapleader被设置回反斜杠后调用。


你的解决方案是什么? - user3751385

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接