I know how to remove ^M
in my files (%s/^M//g
), but this one is just one line I'd like to replace ^M
with enter... what's the enter character in VIM (to use in commnad-line mode).
Many webpages said that ASCII code for enter key is 13(0d). Enter key is considered as Carriage Return (CR).
To replace carriage return character (which is <C-m>
) with line feed character (which is unix line break character) you should run a bit strange command:
%s/\r/\r/g
It looks like if it is doing nothing, but in regular expressions and double-quoted strings carriage returns are represented using \r
and line feeds with \n
, while in the replacement part of :s command and substitute() function they mean the opposite.
Note that in terminal Enter produces <C-m>
, so your initial request is not valid.
:%s/\r//g
only works when:
set ff=unix
, which when done, automatically converts all CRLF
to LF
set ff=dos
and CR
is a rogue char that is not preceded by LF, e.g., inserted with C-V C-M
.
CR in LF CR pairs will not be found.
Therefore, if all you want is to convert every LF CR
to LF
, you should use:
:set ff=unix :w
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With