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.
C-o
C-q C-j
C-q
12
(12 is the octal value of newline)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.
-
locate the cursor at the upper left of buffer the containing text you want to change
-
Type
m-x
replace-string and hit Return -
The mini-buffer will display something like this: Replace string (default ^ -> ):
-
Type in the character you want to replace. In this case,
;
and hit Return -
The mini-buffer will display something like this:
string ; with:
-
Now execute
C-q C-j
-
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...