Vim - 获取特定文件中所有映射集的列表

Vim - Get a list of all mappings set in a specific file

我最近在看我的 vimrc,我想知道我真正使用了哪些映射。所以,我认为 "mapcop" 类型的插件会非常有用, 但这需要获取某个文件中定义的所有映射的列表。我知道您可以通过 :verbose {map_type}map {mapping} 找到定义映射的位置,但这并不能真正满足我想要使用它的目的。

tagbar 插件允许您查看 vimscript 文件中定义的所有映射,包括您的 .vimrc.

这些命令可以显示 {map_type}map {mapping} 在特定文件中创建:

:redir @x
:verbose map
:redir END
:%d|pu x
:g/filename$/-1 y M
:%d|pu m
  • 你必须转义 filename,比如 \~\/[.]vimrc$ 转义 ~/.vimrc
  • 执行此序列后,filename中创建的映射将放入当前缓冲区(缓冲区中的原始文本将被清除)
  • 您可以将这些命令包装在函数中,以便于调用。
  • 请注意,某些文件中的映射只是最后一次在该文件中定义的,与您的 verbose map 输出相同