也许问题标题不太具体。所以让我解释一下:
this GitHub fork适用于numbertoggle Vim plugin。请检查我叉子的结构,了解我的意思。
我需要的是一种在加载后停用它的方法。换句话说,如果调用该函数,则将其从图表中完全删除。
在其他方面,换句话说。如果调用了插件,我会:call NumberToggleOff()
,那么它将禁用它并充当Vim通常会起作用。
实现这一目标的好方法是什么?我尝试了几种方法,但都没有。
感谢您的帮助!
答案 0 :(得分:2)
通常可以通过
的周围自动命令来完成augroup NumberToggle
…
augroup END
并记住映射的{lhs}
。要禁用它,请执行
let s:plugin_lhs=exists('g:NumberToggleTrigger') ? g:NumberToggleTrigger : '<C-n>'
let g:numbertoggle={}
function! g:numbertoggle.unload()
augroup NumberToggle
autocmd!
augroup END
augroup! NumberToggle
execute 'nunmap' s:plugin_lhs
delfunction NumberToggle
delfunction UpdateMode
delfunction FocusGained
delfunction FocusLost
delfunction InsertLeave
delfunction InsertEnter
unlet g:numbertoggle
unlet g:loaded_numbertoggle
unlet g:insertmode g:focus
unlet s:plugin_lhs
endfunction
" Then do :call g:numbertoggle.unload()
" Loading is done by resourcing numbertoggle
如果不是使用一堆delfunction
次调用,而是将所有函数名称转换为g:numbertoggle.toggle
,g:numbertoggle.update
,...而只是离开unlet g:numbertoggle
,那会好得多。< / p>
它完全取消了插件的效果,而不仅仅是禁用它。