xyzzyでソートとか

2chのエディタスレで並べ替えの話が出ていたので*1何となく考えてみてみたけど、量が多かったりして速度が必要だと大変そうだなぁとか思ったりしてた所で。

filter-region, filter-buffer で外部コマンド sort を実行している。
  リージョンをソート --- C-x | sort
  バッファ全体をソート --- C-x # sort

http://hie.s64.xrea.com/xyzzy/note/edit.html#b
適当に並べ変えしようとして、探したらこれが見つかったけど"C-x |"とか"C-x #"を知らなかった。これ凄い便利。sort自体は外部コマンドって多分Windowsのソートを使ってるんだと思うけど、逆に言うとpath通ってれば、コマンドラインのは、なんでもテキスト渡せるって事かと。並べ替えも超高速でソートして返してくれるプログラムさえあればxyzzy本体のソートなくてもいいって事だね。コレは凄いなぁ。速度とかの問題は、テキスト処理ならこれで殆どなくなりそう。テキスト処理だけして返せば良いなら、GUI要らないし、沢山良いのがありそう。それに、なんだったら自分でCで書いても良いくらいだしね。lispよりは速度いるけど、速度以外は複雑な処理必要ないならCでも面倒ないし。xyzzyの操作じゃなくてテキスト処理なら、lispで書いても遅いなら、そのまま式を他の高速lisp処理系に渡すとかネイティブコンパイラみたいなのに渡してしまっても殆ど問題はなさそうだし良いね。