Unable to replace a space with a new line in Vim

Vim

Vim Problem Overview


I know the thread.

I run

:%s/ /s/\n/g

I get

E488: Trailing characters

2nd example

I run

:%s/ /\n/g

I get

text^@text

I run the same codes also with the following settings separetaly

set fileformat=unix

and

set fileformat=dos

How can you replace with a new line in Vim?

Vim Solutions


Solution 1 - Vim

:%s/ /Ctrl vReturn/g

Where Ctrl v is Control-key plus key v and Return is the return key (the one on the main keyboard, not the enter key on the numpad). The other characters are typed as usual.

If this is entered correctly, the sequence Ctrl vReturn will display as the characters ^M, typically in a different color, to indicate that they are special. Note that actually typing ^M will not work.

Also note that in Vim for windows, it's Control-q instead of Control-v (as that is paste).


Ctrl-v also allows entering other "special" keys via the keyboard. It is also useful for e.g. Tab or Backspace.

Solution 2 - Vim

Try

%s/ /\r/g

Solution 3 - Vim

Enter the following:

:s/ /

and now type Ctrl-V or Ctrl-Q (depends on your configuration) and hit the Enter key. You should now have:

:s/ /^M

Finish it off:

:s/ /^M/g

and you are good to go.

Solution 4 - Vim

Specifically to answer your problem with trailing characters, this is the regex you specified:

:%s/ /s/\n/g

You have too many /. What happens is that you replace ' ' with s, and then you tag on this after the substitution: \n/g

I think you meant this:

:%s/ \s/\n/g

Note that your /s was changed to \s. Now the substitution will replace one space followed by one whitespace of any kind (space or tab) with \n. I doubt if this solve the problem or replacing space with a newline, but it should explain the error message.

Solution 5 - Vim

Try either

For Unix:

:1,$s/\ /\n/g

For Windows:

:1,$s/\ /\r/g

This contains an escape character for the space.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLéo Léopold Hertz 준영View Question on Stackoverflow
Solution 1 - VimsleskeView Answer on Stackoverflow
Solution 2 - VimrangaloView Answer on Stackoverflow
Solution 3 - VimanonView Answer on Stackoverflow
Solution 4 - VimNathan FellmanView Answer on Stackoverflow
Solution 5 - VimsamozView Answer on Stackoverflow