Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VIM:如何列出指定插件当前缓冲区中的所有键映射_Vim_Macvim - Fatal编程技术网

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

VIM:如何列出指定插件当前缓冲区中的所有键映射,vim,macvim,Vim,Macvim,我知道如何使用nmap、imap等查看vim中的所有键映射,以及如何列出绑定到给定键绑定的操作。但有时我想快速查看给定插件的所有键绑定,有没有快速的方法?我不想列出所有键绑定并逐页搜索它们 非常感谢。这里有一个命令,可以在单独的窗口中获取特定插件的映射: :let pluginName=".vimrc" | let cmdMap="map" :redir => output | silent execute "verbose ".cmdMap | redir END | new | put

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


非常感谢。

这里有一个命令,可以在单独的窗口中获取特定插件的映射:

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

在第二行中,执行将解析output.Result的命令

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

编辑:

要扩大其他映射的使用,请使用诸如map!使用寄存器名称更可靠:

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

下面是一个命令,用于在单独的窗口中获取特定插件的映射:

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

在第二行中,执行将解析output.Result的命令

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

编辑:

要扩大其他映射的使用,请使用诸如map!使用寄存器名称更可靠:

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

:help pluginname但是默认配置可以根据文件类型、自定义等进行更改。:help pluginname但是默认配置可以根据文件类型、自定义等进行更改。您需要检查映射!以及映射不会返回插入模式和命令模式映射。对于较新的vim,您可以使用execute和:filter而不是:redir。e、 g.命令-nargs=+Map-let-Map=call{pat,mode->execute'filter'.pat.'verbose'.mode=~'^.$'?mode.Map':mode},[]+['nmap']| new | setlocal buftype=nofile bufhidden=wipe noswapfile | silent!exe'pu=map'|静音!保持安静!取消设置地图,通过执行:地图未损坏您需要检查地图!以及映射不会返回插入模式和命令模式映射。对于较新的vim,您可以使用execute和:filter而不是:redir。e、 g.命令-nargs=+Map-let-Map=call{pat,mode->execute'filter'.pat.'verbose'.mode=~'^.$'?mode.Map':mode},[]+['nmap']| new | setlocal buftype=nofile bufhidden=wipe noswapfile | silent!exe'pu=map'|静音!保持安静!取消映射,通过以下方式执行:映射未配对n