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