1、介绍indent
indent是一个整理代码的工具,不管你的代码写得多乱,你用indent工具都会把你的代码风格和Linux 内核代码一致,基本上每个linux 发布都可以找到或者自己安装
sudo apt-get install indent
2、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 格式化代码,妈妈再也不担心我的代码风格问题了。