Vim script の lambda 内で Exコマンドを実行する

さて、Vim script に lambda が実行されたんですが、lambda 内では式しか定義することが出来ないので、Exコマンドを直接呼び出すことは出来ません。

" Error
let F = { x -> echo x }

[execute() を利用する]

こういう場合は execute() を経由して Ex コマンドを実行することが出来ます。

let F = { x -> execute("echo x", "") }
call F("homu")
" => "homu"

これで lambda 内で Exコマンドを実行することが出来ます。

[使用した vim のバージョン]

  • 7.4.2067