如何 运行 来自 vimrc 的 vim 插件函数?

How to run a vim plugin function from vimrc?

一个插件定义了一个名为 HLMarks() 的函数:

hi Marks term=reverse ctermfg=0 ctermbg=40 guibg=Grey40

function! HLMarks(group)
    call clearmatches()
    let index = char2nr('a')
    while index < char2nr('z')
        call matchadd( a:group, '\%'.line( "'".nr2char(index)).'l')
        let index = index + 1
    endwhile
endfunction

我希望 HLMarks() 函数在每次 vim 打开文件时自动 运行。 当我手动调用该函数时它有效:

:call HLMarks("Marks")

将这一行添加到插件的末尾没有做任何事情:

call HLMarks("Marks")

从 vimrc 调用函数出现此错误:

E117: Unknown function: HLMarks

如何在文件打开时自动调用HLMarks("Marks")函数?

该插件在 http://www.vim.org/scripts/script.php?script_id=3394 中有描述 并从 http://www.vim.org/scripts/download_script.php?src_id=21611

下载

插件的 markHL.vim 文件在我的 ~/.vim/plugin/ 目录中。

“:function”命令列出:

function HLMarks(group)

解决方法是在 vimrc 中加入这一行:

autocmd BufReadPost * call HLMarks("Marks")

详情请见https://groups.google.com/forum/#!topic/vim_use/i2HWD_9V-28

如果您在 .vimrc 中定义函数,则:

function! yourFunc()
    " ...
endfunction

call yourFunc()

只需在定义后添加 call yourFunc() 即可。