ZDNet Japan Brand Site:
ZDNet Japan
builder

新Emacsの強力な置換機能を使いこなす

6年ぶりの大きなアップデートとなったEmacs 22.1、CVS先端の開発バージョンを使っているユーザは、なんとなく見過ごしてしまっているかもしれないが、新しい機能には便利なものが多い。ここでは、特に強化された置換機能について取り上げる。使いこなせば強力なので、是非使ってみて欲しい。

後藤大地(オングス)  2007年7月1日 00時00分

6年ぶりの大きなアップデートとなったEmacs 22.1、CVS先端の開発バージョンを使っているユーザは、なんとなく見過ごしてしまっているかもしれないが、新しい機能には便利なものが多い。ここでは、特に強化された置換機能について取り上げる。使いこなせば強力なので、是非使ってみて欲しい。

replace-regexpがプログラマブル置換へとパワーアップ

Emacsではreplace-regexpで正規表現置換ができる。現在主流となっている正規表現のスタイルはPerlに源流をおいたものが多いが、Emacsの正規表現はそれとは異なる。特に\( \)の表記などが独特だ。とはいえ、Emacsを愛しているならば、馴れるしかないだろう。書き方が違うだけで、本質的には同じことだ。

さて、22.1.xではこの正規表現置換で関数の使用がサポートされた。具体的には、正規表現のなかに、任意の処理が実行可能なLispコードを指定できる。

これまで複雑な置換をするとなると、Perlなどのスクリプト言語で置換処理を書くことが多かったと思うが、22.1.xからはEmacs内で完結できる。ここでは便宜上、この関数を「プログラマブルreplace-regexp」と呼びたい。

サンプルでつかむプログラマブルreplace-regexp - 手始めは値の比較

早速試してみよう。最初の例題は、リスト1をリスト2のようにするというものだ。

リスト1 プログラマブルreplace-regexpをためしてみる

1 2
2 2
2 1

リスト2 置換後の文字列

1 < 2
2 = 2
2 > 1
キーショートカット:  b - 前のページ n - 次のページ

関連情報

  • Emacs 22.1リリース--OS Xもサポート
    2日、オープンソースで開発されるエディタ「GNU Emacs」のバージョン22.1が公開された。EmacsはFree Software FoudationのRichard Stallman氏などを中心とするコミュニティで開発されており、Emacs Lispの実行環境をそなえるなど、単なるテキストエディタを超えた拡張性と機能で人気がある。
  • viまでもSaaS?--viのJavaScript実装が登場
http://japan.zdnet.com/news/devsys/story/0,2000056182,20350805,00.htm
新Emacsの強力な置換機能を使いこなす

ZDNet Japan Essential Topic

ZDNet Japan イベント

ZDNet Japan ニューズレター

企業情報システムの選択、導入、運用管理に役立つ情報を毎朝メール配信します。

ニューズレターの登録・登録情報変更 »