也许问题标题不太具体。所以让我解释一下:
这是针对这个 GitHub 分支的,用于 numbertoggle Vim 插件。请检查我的叉子的结构,以了解我的意思。
我需要的是一种在加载后停用它的方法。换句话说,如果调用该函数,则将其从图表中完全删除。
换句话说,换句话说。如果调用插件,并且我确实:call NumberToggleOff()
那么它将禁用它并像 Vim 通常运行一样运行。
实现这一目标的好方法是什么?我已经尝试了几种方法,但没有一种有效。
感谢您的帮助!
通常可以通过将自动命令括起来来完成
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
.
完全取消了插件的效果,而不仅仅是禁用它。