Vim 8.0 で追加された機能 closure
Vim 8.0 では関数に closure 機能が追加されました。 これは、関数外のローカル変数をキャプチャするための機能です。
function! s:init() let value = 0 " closure キーワードを追加することで関数外のローカル変数をキャプチャできる function! s:count() closure let value += 1 return value endfunction endfunction " 関数を定義する call s:init() echo s:count() " => 1 echo s:count() " => 2 echo s:count() " => 3