月曜日, 10月 09, 2006

秀丸エディタは素晴らしい

私はプログラムを作成する仕事をしているので
テキストエディタは仕事の効率を大きく左右する。
テキストエディタとはWindows標準で装備されている
メモ帳に相当するもので、
馴染みがある人も馴染みがない人もいるとは思いますが
とにかく重要なツールの1つである事は間違いありません。

私はその中でも秀丸エディタを使用しているのですが
このエディターの素晴らしさを少しでも伝えられれば
いいなって事で今回はこのエディタについて書きたいと思います。

まず始めにこれはツールの一種であるため
覚えるのが大変だから使用しないという人がいれば
いいやって敬遠している人がいたらそれは大きい間違いである。
これはエディタに限らず、覚えるのが面倒だから
既存のやり方でいいなんて話は何処でも聞く話ですけど
このエディタの存在を知っていて、
かつどのような事ができるかを知っていて
それでいて、それを必要としているにも関わらず
覚えるのが面倒だから使用しないというのであれば
はっきり言ってエディタについて書いてはいますが
その人に対してものの考え方について否定させて下さい。

計算機を使用できなかった時に
計算機の使い方を覚えるのが面倒だから
手算で計算をし続けていますか?
って問題とそう変わらないと思います。
もちろん計算機は主管的にも想像する事ができる
素晴らしい器械ですから覚えるレベルというのがまったく違いますが
だいたいどの計算機にも付いているメモリ計算などは
使用しない人を良く見かけます。
大した労力を必要としないにも関わらず、
それが実現する事は素晴らしいのに覚えるのが面倒だから
使用しないなんてもったいなさ過ぎます。

ちょっと話が挫折してきたので秀丸エディタに戻します。
今回はその素晴らしさの一つだけでも伝えられればという思いですので
簡単な事から書いていきたいと思います。
多分、多機能ですので途中で止める事は間違いありません。
次の機会(そう遠くない未来)に続きを書きたいと思います。
さらに私が知っている事は全て書いていくつもりなので
ここに書いていない事で、
「あんた全然使いこなしてないよ」
なんて言葉は是非、私にその内容を教えて下さい。

最初に「検索」について触れたいと思います。
検索は検索ボックスを開けると大体どのように
検索されるか予想が付くのですが
でっかいパワーを発揮するのは「正規表現」検索です。

「正規表現」とは「regular expression」と言って
「文字列をある形式で表現する表現方法」というのが
正しい言い方かもしれません。
はっきり言って自分の言葉なので怪しいと言えば怪しいですが。

正規表現だけで使用方法を含めると
1冊の本が書けちゃうくらい膨大なものなので
ここではこれさえ抑えてしまえばというのだけ上げたいと思います。
もっとという人はヘルプ等で調べて見て下さい。

「.(ピリオド)」:任意の1文字
これがとにかく最重要な表現方法です。
この「.(ピリオド)」は任意の1文字を表しますので
どんな1文字にもマッチする事になります。

以下の文章があるとします。
「あaいbうcえdおefg」

これを正規表現で「.(ピリオド)」で検索すると文頭から
「a」「b」「c」「d」「e」「f」「g」と7文字にヒットする事になります。
※注意する事は全角文字は1文字とはみなされないというところでしょうか

従って「う.お」で検索すると何もヒットしませんが
「う.え」で検索すると「うcえ」がヒットする事になります。

想像つくと思いますが「...(ピリオド3つ)」で検索すると
「efg」がヒットする事になります。
他には何もヒットしません。

次に私が覚えると良いと思うのは「+」「*」ですね。
「+(プラス)」:直前の文字が1回以上繰返し
「*(アスタディスク)」:直前の文字が0回以上繰返し

だから「...(ピリオド3つ)」で表現したものは
「.*」とも「.+」とも書けるわけです。
ただこれでは今一何が便利なのか分かりませんので
ちょっと頭をひねってみます。

たとえば、ある文章に「山田太郎」という名前が
いろいろな形で書かれているとします。
「山田太郎」「山田 太郎」「山田 太郎」
これを普通に検索しようとすると、そのまま検索しますので
3回検索を行なう必要がありますしかつそれで全部検索されたかは
分かりません。「山田 太郎」があるかもしれませんので
これを正規表現では「山田 *太郎」と表現すると
全ての山田太郎にヒットする事になります。
ここで使用されている正規表現は「 *」の部分で
スペースが0個以上あるものにヒットさせるという意味になりますので
いずれの山田太郎にもヒットするわけです。

知らなかった人でなんとなく感動した人もいる気がするのですが
こんなものではないので先に進みます。

多分こんな事に出会った事もあると思います。
行頭のabcを探したい。
これも正規表現に任せれば一発です。
正規表現では行頭を「^」、行末を「$」で表現します。
つまり行頭のabcを探すって事は「^abc」と指定すれば良いわけです。

少しは正規表現の協力差が伝える事ができたのかは
良く分かりませんが、
これを読んで正規表現に触れてみようと思った人が
一人でもいれば幸いです。

あまり書くと長ったらしいので次の機会に
秀丸エディタの素晴らしさの追加でかきたいと思います

0 件のコメント: