1

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

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

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

从我的 ftplugin 文件中调用 InComment() 函数的惯用方法是什么?

*1 插件/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 回答