改行コードが混在しているファイルについて、UNIXの改行コード(LF)をWindowsの改行コード(CRLF)へ変換する(統一する)のに意外と頭を使ったので、メモします。
下記のマクロを使えば変換ができます。
【マクロ】
・LF→CRLF.mac
S_ReplaceAll('([^\\r])\\n', '${1}\\r\\n', 60); // すべて置換
S_ReplaceAll('^\\n', '\\r\\n', 60); // すべて置換
S_ReDraw(0); // 再描画
【説明】
・単純に\nを\r\nにするだけだと、元から\r\nの行が\r\r\nになってしまう。
・マクロの1行目で、\r\n以外の\nを\r\nに置換している。
()と${1}を使うことで、文末の一文字が消えるのを回避する。
・文頭が\nである行(空行)については、マクロの2行目で対応する。