Emacsでも同じ事ができます。
まずはaprpopse-commandやanything-aproposeでソートコマンドを探してみましょう。M-x anything-aproposeに続けてsort-を入力するとそれっぽいコマンドが列挙されます。
sort-pages
sort-columns
sort-paragraphs
sort-fields
sort-regexp-fields
sort-numeric-fields
sort-linessort-regexp-fieldsが利用できそうです。
そのままsort-regexp-fieldsを選択するとコマンドの説明が表示されます。
sort-regexp-fields is an interactive compiled Lisp function in
`sort.el'.
(sort-regexp-fields REVERSE RECORD-REGEXP KEY-REGEXP BEG END)ふむ。。。なにやらよくわかりませんね。。。(汗
Googleでいろいろ検索してみると、引数は次のような意味のようです。
とするとuseやusingをソートするコマンドは次のように定義できそうです。ソート対象の文字列から;を除くのが肝ですね。
(sort-regexp-fields nil "^.+$" "[^;]+" beg end)使いやすくするために関数化します。
(defun my-sort-declarations (beg end)
(interactive (list (region-beginning) (region-end)))
(sort-regexp-fields nil "^.+$" "[^;]+" beg end))さて、昨日のコードに登場してもらいましょう。
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Linq;リージョンを選択して、M-x my-sort-declarationsを実行してみましょう。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;意図したようにソートできましたね。