タグ付けされた質問 「recursive-edit」

2
キーボードマクロのクエリ置換
私は次のように入力します。私はキーボードマクロを定義してみましょうC-x (、それから始まるに行きM-<、その後、入力M-%のいくつかの出現-置き換えるクエリにFOOをすることによってバー。見つかった3つのオカレンスのうち、最後の2つだけを置き換えてから保存しC-x C-s、kbd-macroをで終了しC-x )ます。よくやった!! ここで別のバッファーでkbd-macroを実行すると、fooをbarで置き換えるかどうかは尋ねられず、以前のいいえはい答えを正確に再現し、2番目と3番目の結果を置き換えます!4番目または5番目のオカレンスは要求されません(この2番目のバッファーにはさらにfooが含まれます)!! これは、マクロを定義したときに期待したものではありません。私はそれを呼び出してquery-replace、その質問に答えさせたいと思いました... 脇の質問:これは間違っていると思いませんか?[ M-x edit-last-kbd-macro記録されている内容を確認して、そのロジックをすべて理解できますが、それでもまだ間違っていると思います。] 本当の質問:query-replace私のkbd-macroを期待どおりに動作させる代わりに何を使用できたでしょうか?

3
一部のコマンドがミニバッファーを終了するときに終了する(isearch)一方で、終了しないコマンド(find-file)があるのはなぜですか?
時々、ファイルを開き始め、何らかの理由でファイルを選択するC-x o前に、プロンプトに答える前に実行します。その後、私がもう一度実行しようとするたびにfind-file、Commandがminibufferにいる間にminibufferを使用しようとしたことについて不平を言います。ただし、のようなコマンドを使用したisearch-forward-regexp場合(すでにfind-fileプロンプト内にある場合でも)、エラーはスローされず、を使用してミニバッファーに戻すことはできませんother-window。 一部のプロンプトがミニバッファーを一時的にアップグレードしother-windowて、ミニバッファーを可能なターゲットとみなすプロンプトとそうでないプロンプトがあるのはなぜですか? 明確にするために、私は行き詰まる方法を尋ねているのではありません。 もともとこれに遭遇したときは、ミニバッファーに切り替えてプロンプトをエスケープするEsc Esc EscかC-g、エスケープして、ミニバッファーを使用する新しいコマンドを開始できるようにしました。ただし、この質問について熟考すると、abort-recursive-edit(C-])がother-window+ を実行しなくても、進行中のこのミニバッファーを閉じることがわかりましたkeyboard-quit。 それでも、元のユースケースが何のためにあるのかはよくわかりません。おそらく、それはミニバッファープロンプトへのコピー貼り付けや、マクロの途中でのコマンドの実行を支援するためのものですか? 私が知りたいのは、この再帰性を無効にする方法があるかどうかですisearch。でisearch、それは、ブロッキングプロンプトの代わりに、読み取りイベントを使用しているため安全ですか?abort-recursive-editミニバッファーを終了するときにトリガーするフックはありますか? TL; DR 一部のミニバッファーコマンドがミニバッファーをのターゲットにアップグレードし、other-window新しいミニバッファーコマンドの実行をブロックするのに対し、などの他のコマンドisearchはそうしないのはなぜですか? これを無効にする方法はありますか? この機能の使用目的は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.