我安装了一个不提供禁用其定义的键映射的机制的插件。我想重新定义插件为我自己的任务定义的映射(<leader>cc)之一,我尝试将以下行放入我的.vimrc中:但这不起作用,<leader>cc仍在执行插件命令。

如何定义映射,使其覆盖插件定义的映射?

评论

一个(当然不是很好)的选择是只是进入并编辑源代码并直接删除有问题的映射

#1 楼

插件是在您的vimrc之后获得的,因此,如果插件没有提供替代方法,则无法覆盖vimrc中的插件映射。

将自定义映射放在~/.vim/after/plugin/mystuff.vim中(文件名无关紧要)应允许您覆盖插件映射。

评论


这样做对我不起作用。我在其中放置了地图,它仍然被Pydocstring覆盖。

– ar鱼
17年11月19日在11:07

是否有特定于文件类型(例如ftplugin)的方法?

–陆even
18年7月11日在15:00

另外,同意,这实际上甚至行不通。

–陆even
18年7月11日在15:55

#2 楼

如其他答案中所述,这些插件是在vimrc完成后提供的。您的vimrc文件:

autocmd VimEnter * noremap <leader>cc echo "my purpose"


来自:help VimEnter: ,执行“ -c cmd”参数,创建所有窗口并在其中加载缓冲区。使用VimEnter可以通过这种方式将所有映射与其他设置保持一致:vimrc

评论


这种方法的缺点是您需要在添加此类映射后重新启动vim

–杰姆
20年5月9日在6:34