红联Linux门户
Linux帮助

linux之使用indent格式化代码总结

发布时间:2016-12-31 09:52:00来源:linux网站作者:改变自己chenyu
1、介绍indent
indent是一个整理代码的工具,不管你的代码写得多乱,你用indent工具都会把你的代码风格和Linux 内核代码一致,基本上每个linux 发布都可以找到或者自己安装
sudo apt-get install indent  
 
2、indent具体详细地址
比如在我的电脑上地址图片如下
linux之使用indent格式化代码总结
所以地址在 /usr/src/linux-headers-4.4.0-51/scripts/Lindent
然后我们再打开文件
vim Lindent
代码如下:
#!/bin/sh  
PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"  
RES=`indent --version`  
if [ "$RES" = "" ]; then  
exit 1  
fi  
V1=`echo $RES | cut -d' ' -f3 | cut -d'.' -f1`  
V2=`echo $RES | cut -d' ' -f3 | cut -d'.' -f2`  
V3=`echo $RES | cut -d' ' -f3 | cut -d'.' -f3`  
if [ $V1 -gt 2 ]; then  
PARAM="$PARAM -il0"  
elif [ $V1 -eq 2 ]; then  
if [ $V2 -gt 2 ]; then  
PARAM="$PARAM -il0";  
elif [ $V2 -eq 2 ]; then  
if [ $V3 -ge 10 ]; then  
PARAM="$PARAM -il0"  
fi  
fi  
fi  
indent $PARAM "$@"
有一行这样
PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"
参数说明:
-npro或--ignore-profile  不要读取indent的配置文件.indent.pro。
-kr  指定使用Kernighan&Ritchie的格式。可以换为 -orig,BSD风格
-i8  --indent-level 设置缩排的格数为8。
-ts8 设置tab的长度
-sob或--swallow-optional-blank-lines  删除多余的空白行。
-l80 代码超过80换行
-ss或--space-special-semicolon  若for区段只有一行时,在分号前加上空格。
-ncs或--no-space-after-casts  不要在cast之后空一格。
-bl {分行显示
-bli 0 括号缩进为0
 
3、如何使用indent
比如我格式化 hello2.c文件 可以用下面命令
indent -kr -i4 -ts8 -sob -l80  -ss -bs -bbb -bl -bli0 -nce -psl hello2.c  
但是这个命令这么常,我们就采取其它办法,在/etc/profile 文件里面用其它命令代替,这里我用format命令代替
sudo gedit /etc/profile  
然后再输入下面命令
alias format="indent -kr -i4 -ts8 -sob -l80  -ss -bs -bbb -bl -bli0 -nce -psl"  
保存后然后再执行下输入下面命令
source /etc/profile  
故意把hello2.c 文件里面的代码格式打乱,然后我们再测试下用下面命令。
format hello2.c  
然后再去打开看
vim hello2.c
我们会发现文件格式和内核代码格式一样。
 
4、总结
我们学习了indent 格式化代码,妈妈再也不担心我的代码风格问题了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27399.html