312

Emacsを使用して、および/またはEmacsで文字;を新しい行に置き換えようとしています。replace-stringreplace-regexp

次のコマンドを試しました。

  • M-x replace-string RET ; RET \n

    ;これは2文字に置き換えられます: \n

  • M-x replace-regex RET ; RET \n

    これにより、次のエラーが発生します(ミニバッファーに表示されます)。

    置換テキストでの`'の使用が無効です。

replace-stringこのタスクに使用することの何が問題になっていますか?それを行う別の方法はありますか?

4

6 に答える 6

477

M-x replace-string RET ; RET C-q C-j

  • C-qのためquoted-insertに、

  • C-j改行です。

于 2009-03-04T23:52:48.513 に答える
87

ミニバッファーに改行を入れる方法は 4 つあります。

  1. C-o

  2. C-q C-j

  3. C-q 12(12 は改行の 8 進値です)

  4. C-x oメインウィンドウに戻り、 で改行を削除してから、ミニバッファーC-kC-x o戻り、 でヤンクしますC-y

于 2014-03-16T21:58:32.023 に答える
27

いつでもミニバッファーにカット アンド ペーストできることを忘れないでください。

したがって、バッファから改行文字 (または任意の文字列) をコピーするだけで、置換テキストの入力を求めるプロンプトが表示されたらヤンクできます。

于 2009-03-05T12:02:19.947 に答える
11

より明確に:

セミコロン文字(;)を改行に置き換えるには、次の正確な手順に従います。

  1. 変更するテキストを含むバッファの左上にカーソルを置きます

  2. replace m-x-stringと入力し、ヒットしますReturn

  3. ミニバッファは次のように表示されます。文字列を置き換えます(デフォルトは^->):

  4. 置き換える文字を入力します。この場合;Return

  5. ミニバッファは次のように表示されます。

    ストリング ; と:

  6. 今すぐ実行C-q C-j

  7. セミコロンのすべてのインスタンスが改行に置き換えられます(カーソル位置からバッファーの終わりまでが表示されます)

元の説明よりも少し多くのことがあります。

于 2012-08-01T22:25:08.920 に答える
2

テキスト モードに切り替えます。

M-x text-mode

インデントするブロックを強調表示します。

インデント: Ctrl+ M</kbd>

どのモードにも切り替えます...

于 2014-02-18T04:24:48.527 に答える
0

インラインだけ:

C-M-S-%(バインド キーがまだデフォルトの場合) と replace-string ^J.

于 2019-10-11T04:05:55.240 に答える