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

後藤大地(オングス)
2007/07/01 00:00

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

枚挙の処理もこなせる

処理が簡単かつ効果的なのが枚挙の処理だろう。たとえばリスト6のようなテキストを用意する。リスト7のように一致対象を入力して、リスト8のように置換する。これでリスト4.4のように連番に置き換えられるわけだ。

リスト6 枚挙のテキストを準備

1: test1
2: test1
3: test1

a: test

1: test2
2: test2
3: test2

リスト7 数値の枚挙に一致させる

Query replace regexp: \([0-9]+:\)

リスト8 処理番号が0からはじまるので、1加算した数を枚挙番号として出力

Query replace regexp with: \,(1+ \#):

リスト9 置換後のテキスト

1: test1
2: test1
3: test1

a: test

4: test2
5: test2
6: test2

1+は1を加算する関数、#は処理対象の番号となる。1を加算しているのは番号が0からはじまっているためだ。Lispコードなので、単純な連番を振る以上のこともできる。

記事に関係する情報をコメントでお寄せください

ニックネーム : CNET_IDにログインしてコメントする

コメント本文(必須) :
  • 新着記事
  • 人気記事
  • 特集
  • ブログ