2011-01-09 144 views
6

有没有方法可以取消映射由插件设置的映射?我目前在我的.vimrc文件中的自定义映射之前调用了exe ":mapclear",但插件文件看起来是在vimrc文件执行后获得的。我必须再次资源我的vimrc文件才能按预期工作。取消映射Vim插件映射

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

回答

4

您可以用.vimrc中的映射将文件写入另一个文件中,比如MyMaps.vim,并将该文件放入〜/ .vim/after/plugins /中。 这应该会使您的地图成为默认地图

另请参阅设置映射的插件文档,其中一些 允许您重新定位或取消激活默认映射。

+0

谢谢,这听起来像一个很酷的伎俩,虽然它断开我的配置从我的.vimrc文件。 – wlue 2011-01-10 00:45:26

+0

关于将配置保存在一个地方的问题,您可以使用映射创建函数,然后在每次输入缓冲区时使用自动命令调用该函数:autocmd BufEnter * call MyMaps()。这将允许您将配置保存在.vimrc文件中。我不知道设置第二个枫树。 – skeept 2011-01-10 01:06:55

-1

在窥探我的各种插件时,我发现了一种解决方案。

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

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