プラグインのソースコードを見た後、私は次のように提案することができます:
inoremap <Plug>Dummy1 <Plug>AddVimFootnote
nnoremap <Plug>Dummy1 <Plug>AddVimFootnote
inoremap <Plug>Dummy2 <Plug>ReturnFromFootnote
nnoremap <Plug>Dummy2 <Plug>ReturnFromFootnote
function s:FootnoteMaps()
if &filetype!=#'tex'
inoremap <buffer> \f <Plug>AddVimFootnote
nnoremap <buffer> \f <Plug>AddVimFootnote
inoremap <buffer> \r <Plug>ReturnFromFootnote
nnoremap <buffer> \r <Plug>ReturnFromFootnote
else
inoremap <buffer> #f <Plug>AddVimFootnote
nnoremap <buffer> #f <Plug>AddVimFootnote
inoremap <buffer> #r <Plug>ReturnFromFootnote
nnoremap <buffer> #r <Plug>ReturnFromFootnote
endif
endfunction
autocmd Filetype * call s:FootnoteMaps()
最初にトリガーされませんされるダミーのマッピングを作成しますが、<Plug>AddVimFootnote
と<Plug>ReturnFromFootnote
に彼自身のマッピングを設定からプラグインを防ぐことができます。 Second(function + autocommand)は、tex以外のファイルタイプの古いマッピングを設定します。プラグインがロードされる前にファイルタイプのイベントが発生したと確信した場合、最初のセクションは必要ありません。
一般的な解決策ではありません。一般的な解決策は、«プラグインのソースコードを調べて、少し考えてみましょう»。
出典
2010-12-07 18:34:01
ZyX