前回リストを平坦にする関数を作りましたが、中でextendやってるだけなので、関数にする必要はないですね。
自作関数使わず、直接mapでextendを使ってみます。
:let in_list=[[1,2],[3,4],[5,6]] :let out=[] :call map(g:in_list,'extend(g:out,v:val)')
ずいぶんすっきりしました。
これでもいけるはず。
:echo out

ぜんぜん大丈夫ですね。
では、バッファに適当なテキストを作って、それをリストに変換してみます。
:0r!wsl seq 100 | wsl pr -t5J

テキスト取り込み。
:let in=getline("w0","w$")
:call map(in,'split(v:val,"\t")')
:let out=[]
:call map(in,'extend(g:out,v:val)')
outリストに平坦なデータが格納されました。
:echo out



コメント