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

4

我通过vundle安装了很多插件。 我发现可能有多个插件使用相同的热键。 有没有聪明的方法可以找出包含这种热键的插件?

关于按键映射,有一些教程可供参考(点击链接)。但我还是不知道该怎么做。


是的,几乎每个插件都带有至少一个简短的说明/自述文件或者最好的情况下是详细的文档。作者花费了不可忽视的时间编写和格式化所有这些内容,请务必阅读。最好在安装之前。哦,而且你其实并不需要大多数这些插件。 - romainl
3个回答

5

警告

不要随意安装大量插件;随着时间的推移,您将面临复杂、缓慢和难以理解的混乱。特别是使用像Vundle这样的插件管理器时,很容易检查插件。如果您忘记删除对您没有用处的插件,则此好处可能会变得不好。

如何检查

一般来说,插件应该宣传其功能和默认映射(希望提供更改这些内容的配置!)

如果您确实有重叠的映射,请检查:

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

如何更改映射

更改插件映射的规范方法是通过在您的~/.vimrc中定义自己的映射到插件提供的<Plug>...目标,例如:nmap <F1> <Plug>PluginNameMapping。有些插件还使用全局变量;不要修改插件脚本本身;而是向作者提出投诉!


4

有的。

使用:verbose map <YOURKEY>,它会显示最后一次修改此映射的文件。


1
关于 :verbose 的绝佳技巧 - Jasha

1

你可以尝试阅读插件文档或源代码...... 在此之前:

:map <YOURKEY><CR>

将显示在正常模式下 <YOURKEY> 映射到了什么(您可以使用 :cmap:vmap 等命令来尝试)。有时它映射到与插件名称相关联的函数是很有帮助的。
您可以发出单个 (c|v...) :map 命令来转储映射表。
但是,假设您可能想要了解在两个或多个插件中使用的映射方式,则没有简单的方法。再次查看插件文档和/或源代码。

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