有没有办法在Vim中查看当前映射的键?

Pau*_*cks 169 vim

基本上,我想查看当前缓冲区中所有插件vimrc等在当前缓冲区中创建的所有键映射.反正有没有这样做?

mat*_*tr- 223

您可以使用该:map命令执行此操作.还有其他变种.

  • :nmap 用于普通模式映射
  • :vmap 用于可视模式映射
  • :imap 用于插入模式映射

以上列表不完整.输入:help mapVim会给你更多信息.

  • @Von,你或许是指`:help index`. (24认同)
  • 只是为了澄清,我相信`:map`,正如原始问题所示,只显示插件,vimrc等的映射.如果你想在vim中看到默认的键绑定,请使用`:index` (9认同)
  • 这些只为您提供用户定义的映射,而不是内置(默认)绑定 (2认同)
  • @AntonDaneyko 您可以使用 https://github.com/AndrewRadev/bufferize.vim 来实现此目的。 (2认同)

Iva*_*van 74

:redir! > vim_keys.txt
:silent verbose map
:redir END
Run Code Online (Sandbox Code Playgroud)

这会将定义它们的快捷方式输出到文本文件.


Ves*_*Ves 52

除了:map没有参数的答案:不要错过它的详细形式(:verbose map),它显示了定义映射的位置(参见参考资料:help map-verbose).


alb*_*fan 14

:map和它的朋友是关键,:verbose添加信息,并:redir允许搜索后的细化.

它们是一个完美的混合,用于显示哪个命令绑定到哪个快捷方式,反之亦然,但是如果您想在需要搜索映射时搜索某些键并避免使用临时文件,请查看脚本编辑器:Verbose命令.

它是:verbose在预览窗口中显示结果的包装器.

这样,您可以在不使用临时文件的情况下在结果中搜索任何内容

像往常一样打字:Verbose map和使用/ ?.


Mic*_*ski 12

很简单,只需运行:map 没有参数的变体.

:map
:imap
:vmap
Run Code Online (Sandbox Code Playgroud)


Fer*_*uez 5

另一种方法是将会话保存到一个文件,然后编辑该文件,因为它包含所有映射和设置。

:mks[ession] [file] - 编写一个 Vim 脚本来恢复当前的编辑会话。