How do I search for "\n" without a preceding "\r" in vim?
Vim won't convert fileformat if it sees inconsistent line endi开发者_运维知识库ngs. How can I find those ?
Zero-width look-behind assertion
"How do I search for “\n” without a preceding “\r” in vim ?"
/\r\@<!\n
How do you search and replace these occurances with "\r\n"?
:%s/\r\@<!\n/\r\n/gc
Get rid of the final "c" if you want to accept every match without confirmation.
Edit: However, if you want an answer that you can remember how to do without having used look ahead/behind assertions a billion times, see Jackson Miller's answer. Sometimes it is better to simplify your problem and use tools that don't require you to read the manual constantly :)
How about replacing \r\n with \n and then \n with \r\n.
Should be something like:
:%s/\r\n/\n
:%s/\n/\r\n
To change all line endings that are \r\n to \n, use
:%s/\r$//
This will search for all \r characters followed by newline and replace it with just newline
Use a utility like dos2unix or unix2dos to convert the line endings to the desired format. There are native implementations of these utilities for both unix and windows systems.
精彩评论