在windows平台上开发时, 我们编辑的文件多半是dos格式, 当我们将它们采用xftp或是secureCRT等ssh软件传输到Linux的vim环境下面时, 通常会出现如下令人惨不忍睹的画面:
为了得到干净清爽的unix格式的utf8编码的文件,我们可以先在vim中去掉^M符号:
%s/^M//g
这里,^M要用Ctrl+V,然后回车来输入.并且保存上述修改.下面是执行上述命令的截图
我们看到, 烦人的^M没有的,但是尚残留很多红条, 让人看着不爽. 我们可以使用Linux自带的indent命令进行重新排版. 我通常在自己的home目录下面存放如下bash脚本:
运行上面的脚本,比如
format_code.sh htl_main_http_load.bak.cpp
得到如下效果,我们看到那些讨厌的红条都消失了,格式重新进行了排版.这样基本满足了我们的要求.
目前在实际使用中,发现使用上面的format_code.sh脚本有些时候并不完全彻底去掉红色方块(其实是每行末尾的空白部分),
可以在vim的命令行模式下面执行
:%s/\s\+$//g
去掉所有行末空格.这下世界彻底清爽许多了.