On 11/4/22 3:59 AM, Christian Brabandt wrote:
On Do, 03 Nov 2022, Thomas Jakway wrote:
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.
No, this is not possible, except for creating a mapping that evaluates
your expression and replaces the result, see, :h c_CTRL-\_e


I have to admit I've also found this inconsistency kind of baffling and annoying. Although I don't replace something with a newline all that often, so so far I've just lived with replacing whatever with nul, undoing it, and editing the replace to do what I actually want. I have also (mostly) trained myself to use ^V^M in the replacement instead, which does what I want, although technically doesn't do what it says. I've also never, in decades of programming and probably years spent in vi then vim, wanted to replace anything with a nul.

I realize it's far, far too late to change this, so just venting a bit. And it's the small imperfections that emphasize the perfection of the whole. :-)

Brian

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_use+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/9f8766a3-8404-b859-c01f-c469e0789663%40gmail.com.

Reply via email to