2014-02-16 15 views
1

替換「A」和「B」將執行如下。我的問題是,當我處於階段4時,我能否返回階段2並使用某些命令再次編輯「A」?我可以修改在Emacs中使用replace-string命令時已輸入的字符串嗎?

  1. M-X替換字符串
  2. 「A」
  3. RET
  4. 「B」
  5. RET

感謝。

+1

我不這麼認爲,但你可以退出並重新開始。 'C-g'功能向前移動。 。 。一旦功能開始運行,用戶就無法停止並說出來。 。 。 *請倒帶*。 – lawlist

+0

除了@lawlist所說的內容之外,還可以考慮使用查詢替換(例如'M-%')。 – Drew

+0

你的意思是查詢替換可以做到這一點? –

回答

1

如果您擔心A和B的丟失,因爲您不想再次輸入它們,請轉到步驟5(在B之後按RET),然後按撤消(我看到您使用的是replace-string,而不是query-replace,所以你需要撤消你的改變)。這樣,兩個輸入都存儲在minibuffer歷史記錄中,當您再次啓動命令時,您可以使用向上箭頭訪問它們。

1
  1. 請考慮使用query-replace來代替。

    你的意思是查詢替換可以做到這一點?

    不確定你的意思是「它」,但是,IMO query-replace聽起來像你想要的。請參閱Emacs手冊,節點Query Replace。不要太C-r讓你暫停查詢替換做你想做的任何事情(例如編輯),然後再恢復。

  2. 您可能會考慮的另一種方法:Icicleson-demand replacement

    這取決於你想要做什麼樣的替換以及你想要做多少替換。 冰柱按需替換更多地被設計爲搜索的附件而不是系統替換技術。

    一個優勢是您不需要依次訪問每個匹配項,並回復說您是否要替換它。你不被質疑;你決定在哪裏進行替換。

    而且同樣用於搜索:您無需訪問每個搜索命中,按順序。您可以按任何順序訪問您喜歡的任何搜索匹配,並在其中的任何子集中循環。您甚至可以用各種方式對搜索匹配進行排序,這會影響訪問/可見性和騎自行車的順序。

總的來說,我建議你先看看query-replace文檔。如果你的用例實際上不對應query-replace(或冰箱替代品)提供的內容,那麼可以在你的描述中詳細說明你的用例。

+0

對不起這只是語法錯誤。我不擅長英語。但我會盡力解釋。我說的是當我使用'Mx查詢替換RET「hofe」RET「fuga」',如果我注意到在編輯「fuga」期間拼寫錯誤「hofe」並且想修改「hofe」爲「hoge」,沒有辦法修改它,而不使用'Cg'並重新輸入'Mx query-replace RET「hoge」RET「fuga」'作爲@lawlist說。 –

+0

我看到了 - 您想要更改搜索模式,而不是替換模式。是的,使用'query-replace'和'replace-string',這是正確的:匹配替換的模式在一開始就是固定的。對於** Icicles **僅在定義搜索上下文的模式中才爲真,而不是在這些上下文中定義要搜索的模式。但是從你來自哪裏,這聽起來像'q-r'或'r-s'的'C-g'就是你想要的。 – Drew

+0

但我可以學習「遞歸編輯」。謝謝。 –

相關問題