タグ付けされた質問 「replace」

置換とは、文字列で部分文字列を検索し、それを別の文字列に置き換えるアクションです。

5
grep / ack / ag出力モードからquery-replaceを使用する方法はありますか?
私は承知しているのfind-grep-diredに対応するファイルをマークしてから押すと、Q実行するようにdired-do-query-replace-regexpマークされたファイルに。残念なことに、grepを再起動し、git-grep、ack、またはagを使用find-grepせず、検索用の構文が異なる使用に切り替える必要があります。 私はまたの承知しているmulti-occurとoccur-edit-mode、それが発生し使用して検索を再起動する必要があります。最後ag-diredに、ファイルの内容ではなく、ファイル名で一致するように見えます。 私の現在のアプローチは、grep出力を生成し、grepバッファーで開始するマクロを実行し、各一致にアクセスして変更します。query-replace見つかった一致のセットよりも直接使用したいです。 私は何をしたいのは、私は彼らに適切なファイルとコールクエリ正規表現をマーク、またはのためのバッファのリストにgrepの出力を変換できるように、いずれか早く既存のgrepの出力からのdiredバッファを構築することであるmulti-occur私が使用できるようoccur-edit-modeに所定の場所で編集し、query-replaceそのバッファーで実行します。 この機能は存在しますか、またはこの問題を解決する別のワークフローがありますか?
31 dired  editing  replace  occur 


3
vimのsedスタイルの置換コマンドに相当するものはありますか?
vimで見落としていることの1つは、複数行で機能する置換コマンドを入力できることです。たとえば、 :/begin/,/end/s/foo/bar/g 上記のコマンドは、「begin」を含む最初の行で始まり、「end」を含む次の行で終わる「bar」を「foo」に置き換えます。 emacsで似たようなことをする方法はありますか?

2
テキストを交換するための検索/置換のような機能
私は頻繁に自分自身を例に取って代わるしようとして見つけfooてbarとbarしてfooバッファに。 私が通常行う方法は次のいずれかです。 3クエリ置き換え:aaa -> @@@、bbb -> aaa、@@@ -> bbb 自動化をあきらめて、手作業で交換するだけ 一致する文字列がまたはであるかどうかをテストするために,構文in query-replace-regexpを使用して何かを動作させることが可能であると思います。しかし、結果の構文は面倒すぎるので、実際に試したことはありません。aaabbb 問題は、タスクがどれほど一般的であるかを考えると、組み込みまたは既存のパッケージのいずれかで、より良い、単一ステップの、それを行う方法が必要だと思います。ある?

2
指定された文字列をインクリメンタルに置き換える
以下のようなテキストがあるとします。 AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) AC(nn) 今私はそのnnような数字で置き換えたいです AC(0) AC(1) AC(2) AC(3) AC(4) AC(5) AC(6) AC(7) AC(8) AC(9) AC(10) 私は以前M-x replace-regexp nn RET \# RETこれを達成していました。 質問: 交換番号をから1ではなく、から始めたい0。むしろ、指定された数字から始めると言う25。上記のコマンドをどのように変更すればよいですか? 、... 、などのnn数字に置き換える方法-先行ゼロを意味します001002998999

4
一連の行を作業用HTMLリストに変換する方法は?
現在、これはgeditのようなものではるかに簡単だと思うタスクです。「\ n」(改行)を「</ li> \ n <li>」に置き換えるだけで、リストを取得できるためです。 Emacsですぐに実行できないと思われるいくつかの小さなことの1つですが、頻繁に使用するものです。

4
一致する括弧を置き換える方法は?
私はEmacsを使ってLaTeXで多くの数式を書いています(そして書き直しています)。読みやすさを向上させるために、一致する括弧のペアを変更したい状況に頻繁に出くわします。私のEmacsは、対応する区切り文字を表示するのに十分親切ですが、プログラムで変更するにはどうすればよいですか? たとえば、外側の区切り文字を一度に変更します。 ( (\sqrt{a} + b)^{-1} + c^{-1} ) に [ (\sqrt{a} + b)^{-1} + c^{-1} ]

2
2つの文字列を互いに置き換える
文字列(たとえばstring1)のすべての出現箇所を別の文字列(たとえばstring2)に変更したいと思います。逆も同様です。正確には、私は長いドキュメントを持っていますが、これらの文字列は何度も発生します。私が現在行っていることは、string1-> string3、次にstring2-> string1、最後にstring3-> string2を置き換えることです。 これを行う関数がemacsにすでにあるかどうか疑問に思っています。他の解決策も歓迎します。 編集:これは実際にはコメントにリンクされている質問の複製です。しかし問題は、その質問の受け入れられた回答が常に機能するとは限らないことです(以下のコメントを参照)。その受け入れられた答えの作者が彼/彼女の答えを訂正するか、または他の解決策が出るまで待つ方が良いと思います。次に、質問を投稿する前に、質問をグーグルで検索したところ、その質問が表示されませんでした。重複する質問が2つあると便利な場合があります。これは、異なる表現を使用しており、ユーザーが重複した質問を見つけた場合、正しい質問を見つけることができるためです。 編集2:テキストを交換するための検索/置換のような機能の受け入れられた答えは今や問題ないようです。

2
置換によるsexpsのパターンマッチングを使用してelispプログラムをリファクタリングする方法は?
一連の書き換えルールを指定して、elispプログラムのソースからソースへの変換を実行できる機能を探しています。たとえば、次のようなルールがあるとします。 (set (make-local-variable (quote ?var) ?value)) => (setq-local ?var ?value) それはパターンのすべての出現を見つけ、それを置換で置き換えます。歓迎すべき機能は、最小限の変更を行うことです。 編集:私はこれをhttp://www.informatik.uni-bremen.de/st/lehre/Arte-fakt/Seminar/papers/06/Formal/pattern-language-for-refactoring.pdf残念ながら実装していません。
7 replace 

1
組織モードで検索と置換を行うときにコンテキストを表示する適切な設定
isearch-forward(を使用してC-s)などの特定の関数を組織モードバッファーで実行すると、すべてのコンテンツが一時的に表示されます。検索を終了すると、見出しは検索前の状態に自動的に折りたたまれます。いいね。 しかし、query-replace(を使用してM-%)のようなものを実行すると、ツリーは崩壊したままになります。本質的にそれらの中に隠されたポイント。表示されない変更を確認するように求められます。それは全然良くない! 確かにのように機能query-replaceすることは、isearch-forwardそうするように振る舞うべきです。私はある時点でこれに対する簡単な解決策を見つけたと誓います。(smart設定付きの変数だと思いましたか?)しかし、私はそれを見失ったようです。私を助けてください。

2
地域内の行でGROUP BY + COUNT
リージョンで繰り返される個別の数を取得する最も簡単な方法は何ですか? たとえば、 THIS IS LINE A THIS IS LINE A THIS IS LINE A THIS IS LINE B THIS IS LINE B THIS IS LINE C もらいたい THIS IS LINE A 3 THIS IS LINE B 2 THIS IS LINE C 1 出力は同じ領域で作成できます(現在の選択を置き換えます)。

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を期待どおりに動作させる代わりに何を使用できたでしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.