Vimスクリプト(execute)(その3)


アニメ『マンガ家さんとアシスタントさんと』(2014)

また頭使わない系です。とても分かりやすくて面白いです。

execute続きです。

splitとexecuteを組み合わせてarglistを得る方法では、カレントファイルが[]付の名前>になってしまうので、それを外す処理が面倒です。そもそもargv()でarglistは取得できるので、argv()が常に現在のarglistについて結果を返してくれるなら、わざわざexecuteを使う必要がないですね。
:argsでリストを変更した後に、argv()がちゃんと変化するのか確認してみます。

/tmp $ touch test_{1..5}.txt
/tmp $ vim test_*.txt
echo argv()

:args test_2.txt
echo argv()


起動直後のarglistではなく、現在のarglistの結果が返ってきました。ってことでargv()を使えばいいので、executeでarglistを取得する必要はなさそうです。では、buffer-listの方はどうでしょう。
:lsの結果を変数に格納する場合は、executeが使えるのでは。

:let arr=execute('ls')
:echo arr


あ、splitが必要そうです。

 
:let arr=split(execute('ls'),"\n") 
:echo arr 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA