バッファ上のテキストを、バイナリデータに変換後、ファイル書き込みしてみます。
最初に、適当にテキストファイルを作成。
:0r!wsl seq 100 | wsl pr -t5J
全行をリストとして取り込みます。
:let a = getline("w0","w$") :echo a
タブ区切りのデータなので、タブでsplit。
:call map(a,'split(v:val,"\t")') :echo a
outという変数名でBlobを作ります。
:let out=0z :for arr in a : for data in arr : let out = add(out,data) : endfor :endfor :echo out
Blobデータができたので、後はファイルへ書き込むだけ。
:!mkdir "c:\tmp" :call writefile(out,'c:\tmp\test.bin')
書き込んだファイルを確認します。
:cd c:\tmp :new :0r!wsl od -Ax -tx1 test.bin
書き込まれた内容も合ってそうですね。
コメント