0

いくつかの異なる Vim ファイルタイプ プラグインで実行したい共通のコマンド セットがあります。たとえば、htmlxml、 などxhtml、共通して使いたい設定がいくつかあります。この共通コードを配置するのに最適な場所はどこですか?また、個々のプラグイン ファイルにどのようにロードすればよいですか?

4

1 に答える 1

3

一般的な共有コード

(バッファローカル) コマンドまたはマッピングを再利用するには、それらを (グローバル) 関数で定義し、ftplugin から呼び出すことができます。

" Put this in your .vimrc, or make it an autoload function.
function SetupCommands()
    command! -buffer ...
endfunction

" in your ftplugin script:
call SetupCommands()

または、必要に応じて別のスクリプトに入れるだけです:source。たとえば、次のようになります~/.vim/mysetup.vim

" in your ftplugin script:
runtime mysetup.vim

ファイルタイプの継承

ただし、あなたの質問は特別な形式の再利用に関するものです。XML、HTML、および (X)HTML には多くの共通点があります。それを構造化するための正式な方法はありません。HTML は XML の形式です (ただし、妥当性は壊れています)。XHTML は、おそらく両方とも XML であり、HTML です。

たとえば、HTML の略語を次のように定義します~/.vim/ftplugin/html_abb.vim

inoremap <buffer> <C-CR> <lt>br>

これを次のように継承 (およびオーバーライド) します~/.vim/ftplugin/xhtml_abb.vim

runtime! ftplugin/html_abb.vim
inoremap <buffer> <C-CR> <lt>br/>

この:runtimeアプローチでは、組み合わせることもできます。一般的な XML 用のツールを定義し、HTML 用に継承しますが (構文について不満があるかもしれません)、HTML 用の略語を定義し、XHTML 用に継承しますが、XML 用には継承しません。Vim はすべての柔軟性を提供します。うまく機能する構造を決めるのはあなた次第です。

于 2014-05-06T14:55:48.903 に答える