tabify と untabify

[を] インデントにはタブではなくスペースを使う を読んで、ちゃんとしたタブ・スペース相互変換する何かを作ろうと思いました。私は画面を広く使いたいので、2タブ派なんですが、これまでは "\t" と " "(スペース2個)を相互に置換していたのですが、これだと4タブとか、違うタブ幅の場合を想定して書かれたコードだと不都合があったわけです。

で、どうやってやろうかなーとか思って軽く Google 検索してみたら、xyzzy には標準装備で tabify と untabify が装備されているのをハケーン。orz

リージョン作っておいて、M-x tabify するとスペースによるインデントがタブによるインデントになり、 M-x untabify するとタブによるインデントがスペースによるインデントになります。知らんかった。これとローカル設定でタブの幅をアレコレしたり、indent-region を組み合わせたりするといかような形にも出来ますね。

あと、セレクション作っておけば編集メニューの「変換」からでもできますね。