Les Mikesell wrote: > On Wed, 2006-03-01 at 11:23, Bowie Bailey wrote: >>> In the old days with real vi, you would: >>> :%s/^v^m// >>> to get rid of them, but vim doesn't like that. >> It depends on how Vim recognizes the file. If Vim displays the file >> as a DOS file, it will hide the ^M and you can't search for it. >> If Vim displays the file as a unix file, it will show the ^M at the >> end of the line and you can search and replace it with the command >> shown above. > > OK, but what would convince vim to display files with ^M's as > unix files? I thought it took their presence as the hint to > display in DOS mode. > vim will assume a file is unix format if any line contains just one single lf. If you have a file that is cr/lf everywhere except 2 lines from the end has a lf only line, vim will use lf mode. It would have been nice if it just checked the first few line or 2. echo -en "dos\r\ndos\r\nunix\ndos\r\n" > text.mixed Vim text.mixed will use unix eol mode when opened.