我有一个插件,它设置一个全局变量并在每次加载插件时检查它,以避免多次加载。我想允许重新加载插件(允许重新加载插件),而不需修改插件本身。插件只需检查其变量是否存在(即exists('g:var_name')
)——有没有一种方法可以取消该变量,使得exists()
检查返回false?
p.s. 我不想修改插件本身,因为我使用git子模块和Pathogen指向插件存储库。
我有一个插件,它设置一个全局变量并在每次加载插件时检查它,以避免多次加载。我想允许重新加载插件(允许重新加载插件),而不需修改插件本身。插件只需检查其变量是否存在(即exists('g:var_name')
)——有没有一种方法可以取消该变量,使得exists()
检查返回false?
p.s. 我不想修改插件本身,因为我使用git子模块和Pathogen指向插件存储库。
let g:force_reload_mark = 1
替代unlet g:loaded_mark
,因为测试的构造方式。从脚本页面的自述文件来看,插件似乎是以重新加载资源为目的编写的,因为任何颜色方案的更改都会导致插件失效。 - Randy Morrisfunction dict.fname
),那么您应该只是清空dict
(如let dict={}
)而不是使用function!
。2. 如果您定义普通函数,则为了避免在重新加载插件时出现错误,可以使用delfunction
命令。这两个操作都由 vimpluginloader 的LoadCommand reload ...
和 frawor 的call frawor#Reload(...)
使用(要能够重新加载插件,必须使用这些框架)。 - ZyXg:force_reload_mark
。 - Drew Stephens