0

質問のタイトルが具体的すぎないのかもしれません。それでは、説明させてください:

これは、numbertoggle Vim プラグイン用のこのGitHub フォーク用です。私の言いたいことを理解するために、フォークの構造を確認してください。

必要なのは、ロードされた後に非アクティブ化する方法です。つまり、その関数が呼び出された場合、チャートから完全に消去します。

つまり、言い換えれば。プラグインが呼び出された場合、プラグインは:call NumberToggleOff()無効になり、Vim が通常機能するように動作します。

これを達成するための良い方法は何でしょうか? いくつかの方法を試しましたが、どれもうまくいきません。

ご協力いただきありがとうございます!

4

1 に答える 1

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.toggleg:numbertoggle.updateunlet g:numbertoggle

プラグインを無効にするだけでなく、プラグインの効果を完全に取り消します。

于 2012-12-07T04:29:18.303 に答える