在文件之间共享功能的惯用方法是什么?

时间:2012-06-16 21:14:24

标签: vim

我有一个名为InComment()的插件函数存储在magic.vim * 1

我想在两个ftplugin文件之间分享它:

  • 类型插件/ c.vim
  • 类型插件/ 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 "}}}

2 个答案:

答案 0 :(得分:2)

Prince Goulash引用的文件包含您需要的一切。要专门回答您的问题,您需要根据插件名称为函数命名,如下所示:

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

然后你可以从你的插件中调用它:

call magic#InComment()

#之前的部分必须与插件文件的名称相匹配。这也会导致在调用函数时自动加载插件。

答案 1 :(得分:1)

我在尝试自己回答时发现了这个问题。

Writing Library Scripts上有一个Vim帮助部分,看起来就像我们需要的那样!

(注意:我还没有尝试过。如果我遇到问题,我会更新这篇文章。)