According to https://vim.fandom.com/wiki/Search_and_replace:
“When
searching, \n
is newline, \r
is CR (carriage return = Ctrl-M = ^M)… When replacing, \r
is newline, \n
is a null byte (0x00).”
There are also questions on StackOverflow about this, e.g. https://stackoverflow.com/q/71417.
Is there any way to change my settings to make this consistent? I’d like \n to mean “newline” in replace as well. I'm aware that this means \n can no longer be used to mean null when replacing. Ideally I’d be able to change that to some other control sequence, but not constantly tripping over this pothole is more important. If necessary I’ll insert nulls using sed or some other tool. I use search and replace all the time but hardly ever need to insert a null byte anywhere.