【问题标题】:Vimperator - reload pluginVimperator - 重新加载插件
【发布时间】:2015-08-15 16:09:26
【问题描述】:

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

【问题讨论】:

    标签: firefox plugins vimperator


    【解决方案1】:

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

    • :loadplugins
      

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

    • UPDATE:可以使用以下命令

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

      这将重新加载所有插件。

      • 请注意,这个命令只是“取消注册”插件,允许重新加载它们。它不会删除以前版本的插件定义的任何命令或绑定,只是覆盖它们。

      • 如果您想真正删除之前的命令和绑定(例如,如果某些命令已从插件中删除),您可以使用 :delcommand 为特定插件编写“清理”命令,@ 987654325@等删除插件中定义的每个命令/映射/等。

      • 您还可以修改上面的: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)。这可能需要几秒钟,具体取决于您的系统。

    【讨论】:

    • 对我不起作用;你用什么版本的vimperator?我的是 3.9。
    • 对不起,那是错误的。它只会加载卸载的插件。我在想:loadplugins!,这会迫使他们加载。我认为这会重新启动它们,但是当我刚刚检查时,Vimperator 似乎没有它(Pentadactyl 有)。 Pentadactyl 的一个可靠方法是使用:rehash 重新启动 Pentadactyl(不重新启动 FF),但似乎 Vimperator 也没有。稍后我会多找一些。
    • @Leo:我写了一个命令来为 Vimperator 重新加载插件并将它添加到我上面的答案中。它适用于我的 v3.9.1 安装。如果有任何问题,请告诉我。
    • 非常感谢@Pyrocrasty!我应该自己查看 vimperator 的源代码,以了解插件是如何工作的(例如,通过“loadPlugins”进行 grep)但我刚刚意识到我可以做到这一点......我还为有人需要的情况创建了一个 repo这个:github.com/shagabutdinov/vimperator-reload-plugins
    猜你喜欢
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多