【问题标题】:How to detect which shortcut(s) are mapped to a specific command in Vim?如何检测哪些快捷方式映射到 Vim 中的特定命令?
【发布时间】:2012-12-26 17:06:17
【问题描述】:

简而言之,我想在 Vim 插件中提供一个帮助窗口,它可以检测用户在其 .vimrc 中映射到插件命令的快捷方式。

有没有办法查看用户可能映射或未映射到插件命令的快捷方式?

(请注意,我不是寻找一种方法来查看特定快捷方式将执行什么命令,这是一个很容易找到的常见问题解答)。

例如,在用户的.vimrc中,他们可以添加一行如:

map <leader>1 :MyCoolPluginCommand<cr>

在我的插件界面中,我想显示一个快速帮助窗口,该窗口显示诸如

"Cool Command 1: <leader>1"

我唯一的想法是尝试解析他们的 vimrc 并使用一组复杂的正则表达式来获取字符串值。有更好的办法吗?谢谢!

[edit] 该插件调用了一个 python 脚本,所以我也用 python 标记了这个问题,以备有解决方案的可能。 (使用import vim 这样我就可以 eval() 东西)。

【问题讨论】:

    标签: python vim plugins


    【解决方案1】:

    :map 为您提供所有映射的列表;它应该比 .vimrc 更容易解析。

    它还会显示来自其他地方(例如系统范围或命令行)的映射。

    【讨论】:

    • 知道了,我会用 python 解析它,应该可以。谢谢!
    • 您可以使用:redir @a | map"ap 之类的内容,这样您就可以将:map 的内容粘贴到常规文件中,这样您可以更轻松地搜索所需的文本。
    猜你喜欢
    • 2011-01-20
    • 2013-03-26
    • 1970-01-01
    • 2011-05-12
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多