[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:08174] Re: 複数の対の用語を gresreg 方法ってありますか?



なかだです。

At Sat, 23 Mar 2002 13:44:12 +0900,
OkadaTakanori wrote:
> でも,やっぱ,置換用のスクリプトは欲しい。。。
> それだとここのほうがいいとか。。。

sedとかawkとかperlとかrubyあたりを使ったほうが楽そうな気がしま
すが。

置換後の文字列が置換パターンにマッチする場合のことは考えてませ
んが、これでできるかも知れません。一行ずつパターンと文字列をTAB
で区切ったファイルを開いて、そこでM-x replace-pairs-from-buffer。
余分なスペースなどは不可。

(defun replace-pairs-from-buffer (target-buffer)
  (interactive "bBuffer to replace: ")
  (let ((pattern-buffer (selected-buffer)))
    (save-excursion
      (goto-char (point-min))
      (while (scan-buffer "^\\(.*\\)\t\\(.*\\)$" :regexp t)
	(let ((pat (buffer-substring (match-beginning 1) (match-end 1)))
	      (rep (buffer-substring (match-beginning 2) (match-end 2)))
	      (next (match-end 0)))
	  (set-buffer target-buffer)
	  (goto-char (point-min))
	  (replace-buffer pat rep)
	  (set-buffer pattern-buffer)
	  (goto-char next))))))


# [xyzzy:08164]で、"でくくってあったり'になってたりするのがちょっ
# と気になる。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

Index Home