VIM:如何列出当前缓冲区中指定插件的所有键映射

时间:2017-03-09 03:51:30

标签: vim macvim

我知道如何使用nmapimap等来查看vim中的所有键映射,以及如何列出绑定到给定键绑定的操作。但有时我想快速查看给定插件的所有键绑定,有一个快速的方法吗?我不想列出所有的键绑定并逐页搜索。

非常感谢提前。

1 个答案:

答案 0 :(得分:3)

这是一个命令,它在一个单独的窗口中获取特定插件的映射:

:let pluginName=".vimrc" | let cmdMap="map"
:redir => output | silent execute "verbose ".cmdMap | redir END | new | put=output | execute 'v/^.*\n.*'.escape(pluginName,'./').'/d'
  1. 在第一行中,使用任何脚本名称更改变量pluginName,使用任何地图命令更改cmdMap。(输入

  2. 在第二行中,执行将解析输出的命令。(结果

  3. 您仍然可以映射这些命令或创建一个函数来获取用户的输入。

    修改

    要扩大其他映射命令(如map!)的使用,使用寄存器名称会更可靠:

    :redir @z | silent execute "verbose ".cmdMap | redir END | new | put z | execute 'v/^.*\n.*'.escape(pluginName,'./').'/d'