Vim script の execute() 時に実行結果を出力する

さて、Vim script の execute({コマンド}) ですが、引数に渡した『コマンド』の出力結果をキャプチャして返します。

" echo の出力結果を返す。
echo execute("echo 42")

この時に当然ですが、"echo 42" のコマンドを実行しただけでは何も出力されません。

" この場合は何も出力されない
call execute("echo 42")

[execute() で実行した場合にも出力するようにする]

call execute("echo 42") の場合に echo の結果を出力したい場合は、execute() の第二引数に空の文字列("") を渡します。

" 42 が出力される
call execute("echo 42", "")

これで execute() で実行結果を出力する事が出来ます。