How can I replace a character with a newline in Emacs?

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

  • C-q for quoted-insert,

  • C-j is a newline.


There are four ways I've found to put a newline into the minibuffer.

  1. C-o

  2. C-q C-j

  3. C-q 12 (12 is the octal value of newline)

  4. C-x o to the main window, kill a newline with C-k, then C-x o back to the minibuffer, yank it with C-y


Don't forget that you can always cut and paste into the minibuffer.

So you can just copy a newline character (or any string) from your buffer, then yank it when prompted for the replacement text.


More explicitly:

To replace the semicolon character (;) with a newline, follow these exact steps.

  1. locate the cursor at the upper left of buffer the containing text you want to change

  2. Type m-x replace-string and hit Return

  3. The mini-buffer will display something like this: Replace string (default ^ -> ):

  4. Type in the character you want to replace. In this case, ; and hit Return

  5. The mini-buffer will display something like this:

    string ; with:

  6. Now execute C-q C-j

  7. All instances of semicolon will be replaced a newline (from the cursor location to the end of the buffer will now appear)

There is a bit more to it than the original explanation says.


Switch to text mode:

M-x text-mode

Highlight the block to indent.

Indent: Ctrl + M </kbd>

Switch back to whatever mode...