2005 Nov 18th
置換をするときは一括置換をするべく、 ESC x replace-string を使うことが多いんだけど、対話的に「これはする、これはしない」とするときがある。あるにはあるけどあんまりないので、その度にどうやるんだっけかと調べてるので、いい加減メモっておく。

ESC % (= ESC x query-replace) で、OKなときはスペースか y 、NGなときは DEL か n 、全部置換するときは ! 、終了するときは q 。つまり、 ESC x replace-string を使うのをやめて、 ESC % と ! を使うようにしておいたら良いんだな。
Posted by setomits at 04:28 | Comments: 9
Re: Emacsで対話的置換
おんや。私は80% query-replace。もう指が覚えてしまいました。残りの17%ぐらいが query-replace-regexp で、3%が replace-string / replace-regexp かなあ。数値はテキトウ。どっちかっていうとたまにreplace-stringが出てこなくてまごついたりするほう。人によって違うものですね。
Posted by kharakawa at 07:52 on 2005 Nov 18th
Re: Emacsで対話的置換
M-x query-string って書くほうが一般的な気がします。
私も通常「Esc %」派です。あとはM-x replace-regexp が多いかな。
Posted by shunuhs at 08:19 on 2005 Nov 18th
Re: Emacsで対話的置換
私の場合 replace-regexp は絶望的なくらい覚えていなくて、 replace-string- と入力してからTABを(3回くらい)押して悲しい思いをします。Emacsで使ったコマンドの統計をとれるとおもしろいかもしれませんね。ひとと比べてみるとか。
Posted by kharakawa at 08:27 on 2005 Nov 18th
Re: Emacsで対話的置換
> kharakawa さん
僕は replace-regexp は数字を捕まえようとして、なんか大変だったような記憶があってなるべく近寄らないようにしてたりします。何があったんだかは覚えてないですが。
確かに emacs のコマンドのログとかはちょっと面白いかもですね。キーロガー?

> shunuhs さん
手元のGNU Emacsデスクトップリファレンスを開くと、「3章 検索置換」の対話的置換のところに、

対話的置換に入る ESC %
query-replace

とあるし、この話を先輩のいとうさんにしにいった時も、話しながら ALT % としていたので、そちらの方が一般的なのかなと思ったわけでした。

ちなみに今会社で使っている大福iMacの付属キーボードは option キーに alt と書いてるけど、 CarbonEmacs を使っていると ESC と同じ挙動をするのは隣のコマンドキーだ。うーん。
Posted by setomits at 08:41 on 2005 Nov 18th
Re: Emacsで対話的置換
>setomitsさん
Emacsのregexpは自分も特殊文字の扱いがよくわかってません。ESC C-s ( isearch-forward-regexp )を使って手探りでregexpを組み立ててから query-replace-regexp することが多いです。isearch-forward-regexpはリアルタイムで正規表現マッチが進むので非常に便利。数値は[[:digit:]]かな。
Posted by kharakawa at 08:53 on 2005 Nov 18th
Re: Emacsで対話的置換
いや、「Esc %」と打つか「M-x replace-string」と打つかという話じゃなくて、
表記上、「Esc x」 「Alt x」という部分の総称が「M-x」かな、というだけなんですけどね。

正規表現の数字は、私は[0-9]を使うかな。regex系を実行するときはあらかじめ
「M-x re-builder」コマンドで正規表現を確認してから実施しています。なかなか便利ですよ。
Posted by shunuhs at 06:20 on 2005 Nov 19th
Re: Emacsで対話的置換
ああ、そっちのことですね。
まあそうなんですが、件の本の表記をそのまま書いたのでした。
Ctrlキー絡みのは C-x C-s とかみたいに書いてあるんですけどね。
あとAlt キーのことを "Meta" と呼ぶのは...ってので微妙にウケちゃったてのもあったり。
Posted by setomits at 06:54 on 2005 Nov 19th
Re: Emacsで対話的置換
老人ですか・・・orz
Posted by shunuhs at 07:01 on 2005 Nov 19th
Re: Emacsで対話的置換
あの...、ストールマンさんがEmacsを作ったのは、シンボリックスを使っている時ではなかったでしたっけ?
シンボリックスには"Meta"と刻印されているキーがあったと思うのですが。
シンボリックスでは「MetaとCtrlと何やらのキー」といったような同時に3つのキーを押していることが認識できて、Lisp環境では多様されていた模様です。
なので元祖家元では"Mata"キーであり、それを他の移行環境でEscキー等にローカライズした...ということだと思うのですが。
この辺、C社なら技研に経験者が残っていないかなぁ?むしろPrologさんがメインだったしなぁ。
「ウソツキ」と緒川たまきさんに言われる可能性があるので、裏取りをよろしく。
Posted by ともさん at 02:08 on 2005 Nov 20th
Leave a comment
Required fields are marked with *
search
calendar
Nov 2009
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
2930     
archives
photos on flickr
www.flickr.com
bookmarks on delicious