Linux命令完全指南

Linux indent命令使用详解

indent命令 可辨识C的原始代码文件,并加以格式化,以方便程序员阅读、修改等操作。

语法

1
2
indent [参数][源文件]
indent [参数][源文件][-o 目标文件]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-bad:在声明区加上空白行;
-bap:添加空白行;
-bbb:在注释后面添加空白行;
-bc:在声明段中,如果出现逗号就换行;
-bl:if(或是else、for等)与后面执行区段的“{”不同行,且“}”自成一行-bli<缩排格数>设置{}缩排的格数;
-br:if(或是else、for等)与后面执行区段的“{”同行,且“}”自成一行;
-bs:在sizeof之后空一格;
-c<栏数>:将注释置于程序右侧指定的栏位;
-cd<栏数>:将注释置于声明右侧指定的栏位;
-cdb:注释符号自成一行;
-ce:将else置于“}”(if执行区段的结尾)之后;
-ci:<缩排格数>:叙述过长而换行时,指定换行后缩排的格数;
-cli<缩排格数>:使用case时,switch缩排的格数;
-cp<栏数>:将注释置于else与elseif叙述右侧指定的栏位;
-cs:在case之后空一格;
-d<缩排格数>:针对不是放在程序码右侧的注释,设置其缩排格数;
-di<栏数>:将声明区段的变量置于指定的栏位;
-fc1:针对放在每行最前端的注释,设置其格式;
-fca:设置所有注释的格式;
-gnu:使用指定的GNU格式,该参数为默认值;
-i<格数>:设置缩排的格数;
-ip<格数>:设置参数的缩排格数;
-kr:指定使用Kernighan&Ritchie的格式;
-lp:叙述过长而换行,且叙述中包含了括号时,将括号中的每行起始栏位内容垂直对其排列;
-nbad:在声明区段后不要加上空白行;
-nbap:在程序后面不添加空白行;
-nbbb:在注释段后面不添加空白行;
-nbc:在声明段中,即使出现逗号,也不换行;
-ncdb:注释符号不自成一行;
-nce:不将else置于“}”后面;
-ncs:不在case后面空一格;
-nfc1:不要格式化放在每行最前端的注释;
-nfca:不用格式化任何的注释;
-nip:参数不要缩排;
-nlp:叙述过长而换行,且叙述中包含了括号时,不用将括号中的每行起始栏位垂直对其排列;
-npcs:在调用函数名之后,不要添加空格;
-npro:不要读取indent的配置文件“.indent.pro”;
-npsl:程序类型与程序名称放在同一行;
-nsc:注释左侧不要添加星号;
-nsob:不用处理多余的空白行;
-nss:若for或while区段仅有一行时,在分号前不加空格;
-nv:不显示详细的信息;
-orig:使用berkeley格式;
-pcs:在调用函数名与“{”之间添加空格;
-psl:程序类型置于程序名称的前一行;
-sc:在每行注释左侧添加星号;
-sob:删除多余的空白行;
-ss:若for或swile区段仅有一行时,在分号前加上空格;
-st:将结果显示在标准输出设备上;
-T:数据类型名称缩排;
-ts<格数>:设置tab的长度;
-v:显示详细的执行过程;
--version:显示版本信息。

Indent代码格式化说明

使用的indent参数含义
–blank-lines-after-declarationsbad变量声明后加空行
–blank-lines-after-proceduresbap函数结束后加空行
–blank-lines-before-block-commentsbbb块注释前加空行
–break-before-boolean-operatorbbo较长的行,在逻辑运算符前分行
–blank-lines-after-commasnbc变量声明中,逗号分隔的变量不分行
–braces-after-if-linebl“if”和”{“分做两行
–brace-indent 0bli0“{“不继续缩进
–braces-after-struct-decl-linebls定义结构,”struct”和”{“分行
–comment-indentationnc33语句后注释开始于行33
–declaration-comment-columnncd33变量声明后注释开始于行33
–comment-delimiters-on-blank-linesncdb不将单行注释变为块注释
–cuddle-do-whilencdw“do — while”的”while”和其前面的”}”另起一行
–cuddle-elsence“else”和其前面的”}”另起一行
–case-indentation 0cli0switch中的case语句所进0个空格
–else-endif-columnncp33#else, #endif后面的注释开始于行33
–space-after-castcs在类型转换后面加空格
–line-comments-indentation nd0单行注释(不从1列开始的),不向左缩进
–break-function-decl-argsnbfda关闭:函数的参数一个一行
–declaration-indentationndi2变量声明,变量开始于2行,即不必对齐
–format-first-column-commentsnfc1不格式化起于第一行的注释
–format-all-commentsnfca不开启全部格式化注释的开关
–honour-newlineshnlPrefer to break long lines at the position of newlines in the input.
–indent-levelni4设置缩进多少字符,如果为tab的整数倍,用tab来缩进,否则用空格填充。
–parameter-indentationnip5旧风格的函数定义中参数说明缩进5个空格
–line-length 75l75非注释行最长75
–continue-at-parentheseslp续行从上一行出现的括号开始
–space-after-procedure-callspcs函数和”(“之间插入一个空格
–space-after-parenthesesnprs在”(”后”)”前不插入空格
–procnames-start-linespsl将函数名和返回类型放在两行定义
–space-after-forsaffor后面有空格
–space-after-ifsaiif后面有空格
–space-after-whilesawwhile后面有空格
–start-left-side-of-commentsnsc不在生成的块注释中加*
–swallow-optional-blank-linesnsob不去掉可添加的空行
–space-special-semicolonnss一行的for或while语句,在”;”前不加空。
–tab-sizets4一个tab为4个空格(要能整除”-in”)
–use-tabsut使用tab来缩进

实例

使用indent命令将C语言源文件”test.c”中所有的sizeof后面添加一个空格,输入如下命令:

1
indent -bs /home/rootlocal/桌面/test.c

执行上面的命令后,用户可以打开指定的源文件查看在sizeof后面是否都添加了一个空格。由于该命令的参数非常多,所以用户可以根据实际需要选择适合的参数进行使用即可。