1

私はmagic.vimに格納されているInComment()というプラグイン関数を持っています *1

2 つの ftplugin ファイル間で共有したいと思います。

  • ftplugin/c.vim
  • ftplugin/python.vim

ftplugin ファイルから InComment() 関数を呼び出す慣用的な方法は何ですか?

*1 plugin/magic.vim

function! s:InComment() " {{{
    let syn = s:SyntaxName(line('.'), col('.') - 1, 1)
    if syn =~? 'comment'
        return 1
    else
        return 0
    endif
endfunction "}}}
4

2 に答える 2

2

グーラッシュ王子が参照したドキュメントには、必要なものがすべて含まれています。具体的に答えるには、次のように、プラグインの名前に基づいて関数に名前を付ける必要があります。

function! magic#InComment() " {{{
    let syn = s:SyntaxName(line('.'), col('.') - 1, 1)
    if syn =~? 'comment'
        return 1
    else
        return 0
    endif
endfunction "}}}

次に、次のようにプラグインから呼び出すことができます。

call magic#InComment()

# の前の部分は、プラグイン ファイルの名前と一致する必要があります。これにより、関数が呼び出されたときにプラグインが自動ロードされます。

于 2012-08-10T01:12:13.793 に答える
1

自分で答えようとしているときに、この質問を見つけました。

ライブラリ スクリプトの記述に関する Vim ヘルプ セクションがあり、これはまさに必要なもののようです。

(注: まだ実際に試していません。問題が発生した場合は、この投稿を更新します。)

于 2012-06-28T08:49:07.077 に答える