Vimスクリプト(blob)(その11)

バッファ上のテキストを、バイナリデータに変換後、ファイル書き込みしてみます。
最初に、適当にテキストファイルを作成。

: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

書き込まれた内容も合ってそうですね。

Leave a Reply

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

CAPTCHA