linux下代码格式化工具:indent
ubuntu 下:$ sudo apt-get install indent
常用的设置:
indent -npro -kr -i4 -ts4 -sob -l80 -ss -bl -bli 0 文件名参数说明:
-npro或--ignore-profile 不要读取indent的配置文件.indent.pro。
-kr 指定使用Kernighan&Ritchie的格式。可以换为 -orig,BSD风格
-i4 --indent-level 设置缩排的格数为4。
-ts4 设置tab的长度
-sob或--swallow-optional-blank-lines 删除多余的空白行。
-l80 代码超过80换行
-ss或--space-special-semicolon 若for区段只有一行时,在分号前加上空格。
-ncs或--no-space-after-casts 不要在cast之后空一格。
-bl {分行显示
-bli 0 括号缩进为0
注意:
<1> -i4 -ts4同时设置
-i4 设置缩进多少字符,如果为tab的整数倍,用tab来缩进,否则用空格填充。
-i4 -ts4并不能就按照4个空格缩进,而是按一个tab。
当使用vim查看代码时,
只有在.vimrc中设置 set ts=4
代码才会按4个空格缩进。
<2> fileformats=unix, dos
在vim命令模式下,输入“:set ffs”,得到: fileformats=unix,dos
所以vim同时支持 unix和dos格式(不同的行结束符)
输入“:set ff”,可以得到当前文件格式。
如果需要转换的文件的格式是dos的,在使用indent转换后会多出很多^M。
解决办法:
:set ff=unix
:wq
$ indent ...
这样就可以了。
参考: http://hi.baidu.com/houhou1999/blog/item/4983d41b680825c5ac6e75cd.html