Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3307047
  • 博文数量: 366
  • 博客积分: 9916
  • 博客等级: 中将
  • 技术积分: 7194
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-29 23:27
个人简介

简单!

文章分类

全部博文(366)

文章存档

2013年(51)

2012年(269)

2011年(46)

分类: LINUX

2012-08-07 09:26:22

        indent是linux下一个能力极强的代码整理软件,使用它可以轻松的写出风格十分精良的代码。查看/usr/src/linux-headers-<版本>/scripts/Lindent文件 ,可以看到一行代码:
indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1

       这一行就是linux内核使用indent整理代码的格式,使用这条命令就可以实现风格十分良好的C或C++代码。其中-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  ts4  一个tab为4个空格(要能整除"-in") 
--use-tabs  ut  使用tab来缩进 

阅读(4258) | 评论(1) | 转发(3) |
给主人留下些什么吧!~~

txgc_wm2012-08-07 09:33:59

indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs

参数说明:
-npro或--ignore-profile  不要读取indent的配置文件.indent.pro。
-kr  指定使用Kernighan&Ritchie的格式。
-i8  --indent-level 设置缩排的格数为8。
-ts8 设置tab的长度
-sob或--swallow-optional-blank-lines  删除多余的空白行。
-l80 代码超过80换行
-ss或--space-special-semicolon  若for区段只有一行时,在分号前加上空格。
-ncs或--no-space-after-casts  不要在cast之后空一格。