使用 vi 将文本文件从 DOS 转换为 UNIX

^M 字符代表 Vim 中的回车(<c-m> 或者只是 <CR>)。当文件中至少在线使用 LF 行结尾时,Vim 会显示此字符。换句话说,当 Vim 认为文件有 fileformat=unix 但有些行确实有回车符(CR)时,回车符显示为^M

具有 LF 行结尾的单行和带有 CRLF 行结尾的多行的文件通常是通过错误地编辑在基于 MSDOS 的系统上创建的文件而创建的。例如,通过在 MSDOS 操作系统下创建文件,将其复制到基于 UNIX 的系统,然后使用基于 UNIX 的操作系统上的工具预先填充 hash-bang sting(例如 #!/bin/sh)。