おやくそく
このページに書かれていることを試した結果いかなる不具合が発生したとしても、PINGU♂は一切責任を負いません。あらかじめご了承ください。m(__)m
特に、レジストリ操作など下手をすれば簡単にシステムを壊してしまうようなことも
平気で書くと思うので、よくわからないと思ったことに手を出すのは控えてください。
基本的には自分で実際に試したことしか載せないので最悪の事態はそうないと思いますが、念のため。
またもし、これってまずいんじゃね?ということを言っていたらご一報いただけるとありがたいです。
…被害者を増やさないためにw
------------------------------------------------------------------------------------
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
学校ではMacやUNIXを使ってプログラミングをしているので、emacsというエディタを使っています。このemacsというエディタ、相当に癖があるのですが慣れるとものすごく使いやすく、高機能なエディタです。
さて、プログラミングをする時にインデントをするわけですが、括弧を増やしたり減らしたりしているうちにインデントが崩れてしまうことがあります。そんなとき大活躍するのが Ctrl+Meta(Alt)+Q で出来る indent region 機能(名前はこれであっているのかな?)。カーソル位置が括弧のところでこれを使うとその中のインデントをし直してくれるという非常に便利な機能です。
一方家ではWindowsを使っているのでemacsはありません。Windows版のemacsもあるらしいのですが、私は昔から秀丸エディタというシェアウェアのエディタを使っています。これも非常に高機能で便利です。
で、秀丸には当然自動インデント機能はついているのですが、emacsのindent region機能に相当する機能は見つかりませんでした。あの機能のすばらしさを知ってしまった以上もう後戻りは出来ない。幸い秀丸の自動インデント機能はしっかりしているのでマクロを利用して同じようなことが出来るようにしてみました。せっかくなので公開してみます。もし秀丸にそういう機能があったり、似たようなマクロが存在すれば見つけられなかった私がヘタレなだけなのですが、そうでないなら結構需要があるのでは…ない…でしょうか?
後、秀丸の自動インデント機能でどうしても気になる、switchとcaseのインデントも改善してみました。
秀丸の自動インデント機能では、case文とそれに続く通常の文が自動でインデントされません。もしかしたらそういう流儀が一般的なのかもしれませんが、私はcaseと通常の文をひとつずらしています。自動でそういう感じに出来るようにしてみました。
↑秀丸のインデント ↑我流なインデント
…と書いていて気がついたのですが、caseってラベルのようなものだから、それに続く文は自分でインデントしないといけないんですね。
で、ReIndentを使ってインデントし直すと右の感じになります。もちろん左にも出来るように出来ます。
崩れたインデントを自動で整形し直してくれる秀丸用マクロ 「ReIndent.mac」 。emacsになれている人にはとっても便利だと思うんですけどどうでしょう。もし使っていただける人がいたら感想のひとつでも書いてもらえるとうれしいです。
ReIndent Ver 1.00 のダウンロード (旧バージョンです!)
2007.7.24追記
Ver 1.10 をアップしました。