リストのアンパック

vim script では、リストの要素を個別に取得する事が出来ます。

[ソース]

function! s:add_sub(a, b)
    return [a:a + a:b, a:a - a:b]
endfunction

function! s:main()
    let list = [1, 2, 3]
    let [var1, var2, var3] = list
    echo var1
    echo var2
    echo var3
    echo ""

    let [add, sub] = s:add_sub(5, 2)
    echo add
    echo sub
endfunction

call s:main()

[出力]

1
2
3

7
3

便利そうなんだけど、あんまり見たことがないような気がする。