行を逆順にするサクラエディタのマクロ
本日2つ目。
reverse.js
(function(){ if(Editor.IsTextSelected() == 0) Editor.SelectAll(); var lines = Editor.GetSelectedString(0).split(/\r\n|\r|\n/); var n = ['\r\n', '\r', '\n'][Editor.GetLineCode()]; Editor.InsText(lines.reverse().join(n) + n); })();
短い。っていうか行を配列に入れてreverseしてjoinしただけなので簡単だった。
使い方
1 2 3
こういう状況でマクロを実行すると、
3 2 1
こうなる。つまり行が逆になったわけだ。マクロ実行時に選択範囲があればその中だけを、選択範囲が無ければ全体に対して働く。