如何 运行 来自 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()
即可。
一个插件定义了一个名为 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()
即可。