如何找出在vim插件中重新定义的关键映射?

时间:2013-10-15 09:19:07

标签: vim

我通过vundle安装了很多插件。 我发现可能有多个插件使用相同的热键。 有没有聪明的方法来确定哪个插件包含这样的热键?

有一些关于key map的教程。但我仍然没有任何想法。

3 个答案:

答案 0 :(得分:4)

警告

不要只安装许多插件;随着时间的推移,你最终会陷入复杂,缓慢,难以理解的混乱局面。特别是对于像Vundle这样的插件管理器,可以很容易地查看插件。如果你忘记删除那些对你没用的插件,那么这个好处就会变坏。

如何检查

通常,插件应该公布其功能和默认映射(并希望提供配置来更改它们!)

如果确实有重叠映射,则应检查:

  1. 插件的文档。
  2. 插件的源代码;在:*[nore]map脚本中查找plugin/pluginname.vim命令。
  3. 实际存在的映射; :map命令列出了那些。您可以通过模式限制命令(例如,{em>插入模式映射为:imap)和启动键(例如:map <Leader>列出以(可配置)领导者开头的所有映射键)。
  4. 如何更改映射

    更改插件映射的规范方法是定义您自己的映射到插件提供的<Plug>...目标,例如:nmap <F1> <Plug>PluginNameMapping~/.vimrc。一些插件也使用全局变量;不要修改插件脚本本身;相反,向其作者抱怨!

答案 1 :(得分:1)

您可以随时尝试阅读插件文档或来源...直到那时:

:map <YOURKEY><CR>

将显示<YOURKEY>映射到的内容(在正常模式下,您可以使用:cmap:vmap等尝试)。如果它映射到与插件名称相关的函数,有时会有所帮助。

您可以发出一个(c | v ...):map来转储映射表。

但是假设您可能想知道两个(或更多插件)中使用的映射,那么没有简单的方法。再看一下插件的文档和/或源代码。

答案 2 :(得分:0)

是的,有。

使用:verbose map <YOURKEY>。它将向您显示哪个文件是最新的修改此映射的文件。