竟然还是个历史原因
计算机的史前史,那时的打字机使用两个字符来开始一个新行。
首先是一个字符命令使打印头移回开始位置(回车,<CR>),然后另一个字
符命令控制向前进纸一行(进纸,<LF>).
在计算机诞生之初,存储设备十分昂贵。于是有人就提出没有必要
用两个字符来表示一行的结束。UNIX一族决定只用进纸一个字符<Line
Feed>来表示行尾。来自苹果阵营的人则把回车<CR>作为换行的标
准。MS-DOS(和微软的Windows)仍然决定沿用古老的回车换行<CR><LF>传
统。这也意味着如果把文件从一个系统移到另一个不同的系统,你就会遇
到与换行相关的问题。
好吧,总而言之,
window下,换行意味着 \r \n
*nix下,换行意味着\n
而\r变成了^M
我们只需要执行全局的替换命令
:%s/\r//g<CR>
就可以发现^M没了。心情也爽了许多。
好吧,每次都输入还是麻烦,从Taglist对vimrc里面的配置
map <F5> :Tlist<CR>
我们可以类似的写出F6来实现清除^M的快捷键
map <F6> :%s/\r//g<CR>