xyzzyの使い方が分からぬやし 励ましあえ その5

このエントリーをはてなブックマークに追加
368358
>>365
URLというか、:stringシンタックスの場合、stringを選択するというなら以下かなあ。
(defun html-mouse-left-press ()
(interactive)
(if (= (mod *last-mouse-click-count* 6) 2)
(when (and (eq *last-mouse-window* (selected-window))
(save-excursion
(goto-last-mouse-point)
(parse-point-syntax)))
(goto-last-mouse-point)
(case (parse-point-syntax)
(:tag
(while (scan-buffer "<" :reverse t)
(unless (parse-point-syntax) (return)))
(start-selection 2 t)
(while (scan-buffer ">" :no-dup t :tail t)
(unless (parse-point-syntax) (return))))
(:string
(while (backward-char)
(unless (eq (parse-point-syntax) :string) (return)))
(forward-char)
(start-selection 2 t)
(while (forward-char)
(unless (eq (parse-point-syntax) :string) (return))))))
(mouse-left-press)))

> セレクション部分の置換をするにはどうすればいいのでしょうか?
セレクション内だけをreplace-stringしたいということなら、セレクションをnarrowすれば良いのでは。
(narrow-to-region (selection-point) (selection-mark))))をしたあと、置換する。

セレクション全体を別の文字列に変えたいなら、(delete-char-or-selection)してから、
その「別の文字列」をinsertするだけでOKです。