再現コード call append(0,"hoge\nhage\n") 上記コードを実行すると、バッファに"hoge^@hage^@"が挿入される。 \nのかわりに\rでも\r\nでも\n\rでもだめ。^Mとか^@ばかり。 セーブしたファイルを見ると改行コードの前にヌル文字が入っており、意味不明。 対策 行を分割した配列を渡す場合はうまくいく。 split()の第二引数に""を渡すとうまいこと行ごとに区切ってくれる。 第三引数は空行省略抑止。 call append(0,split("hoge\nhoge\n","",1))