Linux中整理代码工具indent的使用

来源:互联网 发布:aps审核 知乎 编辑:程序博客网 时间:2024/05/17 03:12
原文地址:Linux中整理代码工具indent的使用作者:吴钩霜晓月
indent 是一个比较不错的整理工具,即使你写了一段于内核代码风格好不相同的代码,那也没关系,用indent工具就能解决你的问题,帮你整理你的代码。indent几乎在所有的Linux发行版中几乎都可以找到。或者自己安装(ubuntu中:sudo apt-get  install indent)。
查看文件vim     /usr/src/linux-headers-2.6.35-6/scripts/Lindent
就会看到:

#!/bin/sh
PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1"
RES=`indent --version`
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 "$@"
其中有一行:
-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1
这一行就是linux内核使用indent整理代码的格式

其中-l80是每一行最多80个字母,超出会拆行,如果不喜欢可以使用更长的行字数

使用的indent参数 值 含义 
--blank-lines-after-declarations  bad  变量声明后加空行  
--blank-lines-after-procedures  bap  函数结束后加空行  
--blank-lines-before-block-comments  bbb  块注释前加空行  
--break-before-boolean-operator  bbo  较长的
在逻辑运行,算符前分行  
--blank-lines-after-commas  nbc  变量声明中,逗号分隔的变量不分行  
--braces-after-if-line  bl  "if"和"{"分做两行  
--brace-indent 0  bli0  "{"不继续缩进  
--braces-after-struct-decl-line  bls  定义结构,"struct"和"{"分行  
--comment-indentationn  c33  语句后注释开始于行33  
--declaration-comment-columnn  cd33  变量声明后注释开始于行33  
--comment-delimiters-on-blank-lines  ncdb  不将单行注释变为块注释  
--cuddle-do-while  ncdw  "do --- while"的"while"和其前面的"}"另起一行  
--cuddle-else  nce  "else"和其前面的"}"另起一行  
--case-indentation 0  cli0  switch中的case语句所进0个空格  
--else-endif-columnn  cp33  #else, #endif后面的注释开始于行33  
--space-after-cast  cs  在类型转换后面加空格  
--line-comments-indentation n  d0  单行注释(不从1列开始的),不向左缩进  
--break-function-decl-args  nbfda  关闭:函数的参数一个一行  
--declaration-indentationn  di2  变量声明,变量开始于2行,即不必对齐  
--format-first-column-comments  nfc1  不格式化起于第一行的注释  
--format-all-comments  nfca  不开启全部格式化注释的开关  
--honour-newlines  hnl  Prefer to break long lines at the position of newlines in the input.  
--indent-leveln  i4  设置缩进多少字符,如果为tab的整数倍,用tab来缩进,否则用空格填充。  
--parameter-indentationn  ip5  旧风格的函数定义中参数说明缩进5个空格  
--line-length 75  l75  非注释行最长75  
--continue-at-parentheses  lp  续行从上一行出现的括号开始  
--space-after-procedure-calls  pcs  函数和"("之间插入一个空格  
--space-after-parentheses  nprs  在"("后")"前不插入空格  
--procnames-start-lines  psl  将函数名和返回类型放在两行定义  
--space-after-for  saf  for后面有空格  
--space-after-if  sai  if后面有空格  
--space-after-while  saw  while后面有空格  
--start-left-side-of-comments  nsc  不在生成的块注释中加*  
--swallow-optional-blank-lines  nsob  不去掉可添加的空行  
--space-special-semicolon  nss  一行的for或while语句,在";"前不加空。  
--tab-size  ts 一个tab为4个空格(要能整除"-in")  
--use-tabs  ut  使用tab来缩进

例如: indent -kr -i4 -ts8 -sob -l80  -ss -bs -bbb -bl -bli0 -nce -psl my_module.c 就可以整理你的代码了。
0 0
原创粉丝点击