3

そのようなテキストを考えると

こんにちは世界

「世界」のインクリメンタル検索を行います

シーズワールド

テキストが強調表示されます

ハロー、ワールド

ここで、強調表示されたテキストの代わりに「すべて」という新しいテキストを入力して取得したいと思います。

皆さんこんにちは

これどうやってするの?(注意、私は「クエリ置換」などを探しているわけではありません)。理想的には、次のようなものでなければなりません。

Cs ワールド BS すべて

4

3 に答える 3

5

backspaceクエリを変更するにはそのキーが必要なため、使用できません。

私はこれを私のinitに持っています:

(defun le::isearch-kill-result ()
  (interactive)
  (if (use-region-p)
      (call-interactively 'kill-region)
    (kill-region (point) isearch-other-end))
  (isearch-exit))
(define-key isearch-mode-map [(control w)] 'le::isearch-kill-result)

私のポイントは、検索時に役立つことは決してないので、オーバーライド C-wしてもかまいません。別のキーを選択することをお勧めします。

于 2012-08-13T23:40:32.893 に答える
2

私の知る限り、あなたがやりたいことを正確に行う公式の方法はありません。あなたの定義による親戚に属さないC-s World M-% All場合、最も近い方法は " " になります。isearch-query-replacequery-replace

(isearch-query-replace &optional DELIMITED REGEXP-FLAG)

query-replace最後の検索文字列から置換する文字列で開始します。

于 2012-08-13T23:26:35.913 に答える