Tim Chase wrote:
here is the regex: %s/)\s*\n\s*{\n/) {\n/igIt runs through but my code is getting formatted like this now if(asdf) { ^@ nextline_of_code _newline_Vim uses various represenations at different points for nulls and for newlines. Just change the "\n" in your replacement portion to "\r", making it%s/)\s*\n\s*{\n/) {\r/ig and you should get the expected results. -tim
Yes. It's mentioned quite briefly under ":help sub-replace-special", at ":help NL-used-for-Nul" and maybe elsewhere. \n in the "replace what" or "search" pattern matches a line break, but \n in the "replace by" expression inserts a null byte. To insert a line break in the "replace by" expression you must use \r -- this means that to replace a line break by itself you must replace \n by \r
At different places in Vim, and depending on the options you've set, a null byte (which is represented internally by a linefeed) may be displayed as ^@, ^J or <00>.
Best regards, Tony.
