Vim script の lambda にローカル変数をキャプチャする機能が実装された

Vim の patch 7.4.2119 で Vim script の lambda に『ローカル変数をキャプチャする』機能が実装されたました。

github.com

function! s:main()
    let value = 2
    
   " lambda 内から外部のローカル変数が参照できる
    let PlusValue = { x -> x + value }
    echo PlusValue(3)
   " => 5

   " ローカル変数を書き換えた場合も反映される
    let value = -3
    echo PlusValue(7)
   " => 4
endfunction
call s:main()

これでかなり lambda が便利になりました。