1

如何使函数 Function1 fzf 将 var1 传递给函数 Function2?

我知道你可以这样做“函数('s:Function2',[a:var1])”,问题是它不再传递捕获的值var2

目前,一种解决方法是使用全局变量,但老实说,我一点也不喜欢它:(

" Simplified version
let g:var1 = ''

function! s:Function2(var2) 
    echo 'var2: ' . a:var2 . ' --- ' . 'var1: ' . g:var1 
endfunction

function! s:Function1(var1)
    let g:var1=a:var1
    call fzf#run(fzf#wrap({'source': 'ls -a', 'sink':function('s:Function2')}))
endfunction

function FzfFunction()
    call fzf#run( fzf#wrap({'source': 'ls -a', 'sink': function('s:Function1')}) )
endfunction
4

0 回答 0