简而言之,我想在vim插件中提供一个帮助窗口,该插件可以检测哪些用户在其.vimrc中映射到插件的用户。
有没有办法查看用户可能映射到插件命令的哪些快捷方式?
(注意,我不是正在寻找一种查看特定快捷方式将执行的命令的方法,这是一个FAQ)。
例如,在用户的.vimrc中,他们可以添加一行,例如:
map <leader>1 :MyCoolPluginCommand<cr>
,在我的插件界面中,我想呈现一个快速帮助窗口,显示
"Cool Command 1: <leader>1"
我唯一的想法是尝试解析其VIMRC,并使用一组复杂的正则表达式来获取字符串值。有更好的方法吗?谢谢!
[edit] 插件呼叫到python脚本,因此,如果使解决方案成为可能,我还用Python标记了这个问题。(使用 import vim
,以便我可以评估()东西)。
:map
为您提供了所有映射的列表;比.vimrc更容易解析。
此外,它将显示来自其他位置的映射(例如,范围内或命令行)。