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


アニメ『ディーふらぐ!』(2014)

夏バテしてるのでなるべく頭使わないアニメを見ようと探していたらコレ見つけました。今の時期、昼間に、外出するのは暑いですから、夜中にこの手のアニメを見て過ごして、朝になったら寝て、夜起きるって生活が、涼しくていいです。

execute関数を使う練習です。

/tmp $ touch test_{1..5}.txt
/tmp $ vim test_*.txt

現在のarglistを確認。

:args


arglistを変数に格納。

:let arr=execute("args")

変数の中身を確認してみます。

 
:echo arr


ではarrをforで回してみます。

:for f in arr


なぬっ、こんな使い方はできない模様。
そもそも:argsで返ってくるのは、リストではないようです。なので、arglistを得たい時は、素直にargv()を使えばいいですね。

:let arr=argv()
:echo arr


あ、これ、これです。リスト形式。
でもこれではexecuteの学習にはならないので、executeでリストを得る方法を探してみます。まあ探すも何も、ヘルプに書いてあります。

:h execute(
                To get a list of lines use |split()| on the result:
                        split(execute('args'), "\n") 

使ってみます。

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


いや、これ違いますね。一個のリストになってます。空白でsplitする必要がありますので、

:let arr=split(execute('args'), " ")

こうですね。

:echo arr


リストになりました。
つづく

Leave a Reply

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

CAPTCHA