鍍金池/ 問答/Linux/ vim中在command模式里如何對腳本的函數(shù)傳入兩個(gè)以上參數(shù)?

vim中在command模式里如何對腳本的函數(shù)傳入兩個(gè)以上參數(shù)?

我在腳本中定義了如下函數(shù):

funciton! Foo(a,b,...)
    dosomething...
endfunction

command! call -nargs=1 Bar call Foo(<q-args>)

在命令行調(diào)用的時(shí)候就不知道怎么傳參了,不知道用什么分割開多個(gè)參數(shù).

并不是:call Foo(a,b,...)#這個(gè)樣子調(diào)用,而是:Bar這樣的

回答
編輯回答
失心人

你應(yīng)該使用 <f-args>, 具體代碼如下:

function! Foo(...)
    " do something
endfunction
command! -nargs=* Bar call Foo(<f-args>)

這時(shí)候執(zhí)行命令 :Bar 后面跟著參數(shù),空格分割就可以了, 因?yàn)槟氵@個(gè)Foo 方法 定義的至少兩個(gè)參數(shù),第三個(gè)是可變參數(shù),因此你執(zhí)行 Bar 命令時(shí)至少跟著 2 個(gè)參數(shù),否則會報(bào)錯(cuò)。

2017年2月18日 10:27