Vimperator - 重新加载插件

Vimperator - reload plugin

vimperator插件修改后如何重新加载?现在每次我需要重新加载时我都会重新启动浏览器但是开发这样的插件是噩梦。

Vimperator 似乎没有插件的重新加载命令。最接近的命令是

  • :loadplugins
    

    这将加载所有未加载的插件。如果你能找到卸载插件的方法,可能使用 Javascript,你应该能够使用它来重新加载它。

  • UPDATE: 你可以使用下面的命令

    :command! reloadPlugins :js liberator.pluginFiles = {}; liberator.loadPlugins();
    

    这将重新加载所有插件。

    • 请注意,此命令只是 "deregisters" 插件,允许重新加载它们。它不会删除以前版本插件定义的任何命令或绑定,只是覆盖它们。

    • 如果你想真正删除以前的命令和绑定(例如,如果一些命令已从插件中删除),你可以为特定插件编写 "clean up" 命令使用:delcommand:unmap等删除插件中定义的每个command/mapping/etc。

    • 您还可以修改上面的 :reloadPlugins 命令以使用 :comclear,这将删除所有用户定义的绑定。在这种情况下,您需要 :source ~/.vimperatorrc 并重新加载插件。


在 Pentadactyl 上,有几个相关的命令:

  • :delgroup <Plugin Group Name>
    :loadplugins
    

    这将删除插件的命令组,然后加载所有未加载的插件(包括刚刚删除的插件)。这是最快的选择。您可以将命令组合成一个键绑定,例如:

    :map -g user -b <C-c><C-p> :delgroup <Plugin Group Name> | loadplugins<CR>
    
  • 最稳妥的办法是:

    :rehash
    

    这将重启 Pentadactyl(无需重启 FF)。这可能需要几秒钟,具体取决于您的系统。