[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]
AIX命令参考大全,卷 3,i - m
indent 命令
用途
重新格式化一个 C 语言程序。
语法
indent InputFile
[ OutputFile ] [ -nbad | -bad ] [ -nbap
| -bap ]
[ -nbbb | -bbb ] [ -nbc | -bc ] [ -br |
-bl] [ -cn] [ -cdn ] [ -ncdb | -cdb ] [ -nce
| -ce ]
[ -cin ] [ -clin ] [ -dn ] [ -din ] [ -ndj | -dj ] [ -nei| -ei ] [
-fa ] [ -nfa ] [ -nfc1 | -fc1 ]
[ -in ] [ -nip |
-ip ] [ -ln ] [ -lcn ] [ -nlp | -lp ] [ -npro] [ -npcs |
-pcs ] [ -nps | -ps ] [ -npsl| -psl ]
[ -nsc | -sc ] [ -nsob | -sob ] [ -nslb
| -slb ]
[ -st ] [ -troff ] [ -nv | -v ] [ -TType ] ...
描述
indent 命令按照随命令输入的标志所指定的格式重新格式化一个 C 程序。
如果只指定 InputFile 参数,重格式化的文件写回 InputFile 参数并且一个 InputFile 的备份副本被写回当前目录,文件名带 .BAK 后缀。
如果指定 OutputFile
参数,indent 命令执行检查以确认它的名字与 InputFile参数是不同的。
要为 indent 命令设置自己的缺省概要文件,在您登录目录或当前目录中创建一个名为 .indent.pro 文件。在这个文件中,包含想包含的标志,这些标志用空格、制表符或换行符隔开。
当前目录下 .indent.pro 文件中的标志覆盖那些在您的登录目录下的标志( 除了 -T Type 标志,它是累积的)。如果 indent 命令运行并且一个概要文件存在,概要文件被读入以设置程序的缺省配置。然而,命令行上的标志覆盖概要文件标志。
注释处理
indent 命令假定紧跟在起始注释标记 (/*- 或 /**)后带 -(破折号)或 * 的任何注释是用星号围着的注释。每行注释保持不变,除了其缩进。在注释的第一行,可以调整该缩进来说明这个变化。
其它注释被视为文本。indent 命令在一行中匹放入尽量多的单词(由空格、制表符或换行符隔开)。每段由几个空行隔开。
块注释不在代码的右边且超过一行。
如果注释在一带有代码的行中,注释从由 -cn 标志设置的注释列开始。否则,注释以 n 缩进级别开始,这个缩进级别小于代码当前的位置,其中的 n 由 -d n 标志指定。如果一行中的代码超过了注释列,注释从更靠右边的地方开始。在极端情况下,右页边距能被自动地扩展。
预处理器行处理
按常规,indent 命令单独给预处理器留几行。它仅做的重格式化是整理后面的注释。它只留下嵌入式注释。条件编译(在 #ifdef 和 #endif
间的代码行)被识别并且 indent 命令试图为引入的语法特性做正确地补偿。
C 语法处理
内建于 indent 命令中的解析器试图处理不完整和格式错误的语法。特别地,宏的使用象:
#define forever for(;;)
被正确地处理。为了最好的结果,在句法正确的源文件上用 indent 命令。
标志
注: 标志可以在文件名前或后出现。
-bad |
在每个声明块后,强制加一个空行。 |
-nbad |
在每个声明块后禁止一个空行;激活该项,除非用 -bad 标志关闭。 |
-bap |
在每个过程体后强制加一个空行。 |
-nbap |
禁止在每个过程体后的空行;激活该项,除非用 -bap 标志关闭。 |
-bbb |
在每个注释块后强制加一个空行。 |
-nbbb |
在每个块注释前禁止一个空行;激活该项,除非用 -bbb 标志关闭。 |
-bc |
一个声明中在每个逗号后强制加换行。 |
-nbc |
在声明中的每个逗号后禁止换行;激活该项,除非用 -bc 标志关闭。 |
-bl |
格式化复合语句、结构初始化、枚举初始化,如下:
if (...)
{
code}} |
-br |
格式化复合语句、结构初始化、枚举初始化,如下:
if (...) {
code }}
除非用 -bl 标志关闭,否则该标志是活动的。 |
-cn |
在代码上将注释的初始制表符位置设为 n 变量。缺省值是 33。 |
-cdn |
在声明上将注释的初始制表位置设为 n 变量。缺省情况下,这个标志用 -c 标志定义的值。 |
-cdb |
在空行中启用放置注释定界符;激活该项,除非用 -ncdb 标志关闭。-cdb 标志仅仅影响块注释,不影响到代码右边的注释。生成的注释看似如下形式:
/*
* this is a comment
*/ |
-ncdb |
在空行中禁用放置注释定界符。-ncdb 标志仅仅影响块注释,不影响到代码右边的注释。生成的注释看似如下形式:
/* this is a comment */ |
-ce |
启用强制 else 语句来紧跟前面的 }(左括号);激活该项,除非用 -nce 标志关闭。 |
-nce |
禁用强制 else 语句来紧跟前面的 } (左括号)。 |
-cin |
从语句的第一行开始处缩进连续行 n 位置。圆括号中的表达式中有额外的缩进以表明嵌套,除非 -lp 标志有效。在缺省情况下,这个标志用 -i 标志定义的值。 |
-clin |
把条件标签向包含标志的语句右侧缩进 n 个位置。输入 -cli0.5 使条件标签缩进跳格的一半。这个选项是唯一接受小数参数的选项。在缺省情况下,值是 -cli0。 |
-dn |
用 n 变量控制不在代码右边的注释的放置。指定 -d1 标志使这种注释看起来向代码左边缩进一级。缺省情况下,这个标志用 -d0 同时注释和代码对齐。相对于程序代码的注释行的位置影响注释缩进。 |
-din |
用 n 变量,指定来自先前声明的关键字中的标识的缩进位置数。缺省情况下,这个标志用 -di16。 |
-dj |
左调整声明。 |
-ndj |
缩进声明;激活该项,除非用 -dj 标志关闭。 |
-ei |
启用特别 else-if
处理;激活该项,除非用 -nei 标志关闭。 -ei 标志引起跟着 else 语句的 if 语句和前面的 if 语句有相同的缩进。 |
-nei |
禁用特别 else-if
处理。 |
-fa |
把分配运算符从旧式 C 代码翻转到 ANSI 格式。该标志保持活动除非 -nfa 标志被关闭。
注意:更改代码意义的可能性是存在的,如果代码有意用于 ANSI 编译器。例如,A=-B 变成 A-=B。
注: 在运算符间不使用空格。如果用户的意思是减,那么翻转是必须的;另一方面,如果用户的意思是 A 等于负 B ,翻转则改变含义。 |
-nfa |
禁止翻转运算符。如果代码是为 ANSI 编译器写的,用这个标志。 |
-fc1 |
可以格式化在列 1 中开始的注释;激活该项,除非用 -nfc1 标志被关闭。 |
-nfc1 |
不能格式化在列 1 中开始的注释。 |
-in |
设置缩进级别大小。缺省情况下,级别大小是位置 8。 |
-ip |
启用缩进参数声明;激活该项,除非 -nip 标志被关闭。 |
-nip |
禁用缩进参数声明。 |
-ln |
设置代码右端注释的最大列的位置。如果注释不够一行,则最多打印 25 个字符。 |
-lcn |
把注释块最大行长度设为 n 变量。缺省情况下,这个标志用由 -l 标志指定的长度。 |
-lp |
在连续行中对齐由括号包围的代码;激活该项,除非用 -nlp 标志关闭。如果在一行中有左括号而无右括号相匹配,续行在随着左括号的位置处开始。
在 -lp 标志有效时,这些行显示如下:
p1 = first_procedure(second_procedure(p2,p3),
third_procedure(p4,p5));
插入两行或更多换行产生以下结果:
p1 = first_procedure(second_procedure(p2,
p3),
third_procedure(p4,
p5)); |
-nlp |
使有括号包围的代码在连续行中不对齐。在 -nlp 标志有效时,这些行显示如下:
p1 = first_procedure(second_procedure(p2,p3),
third_procedure(p4, p5)); |
-npro |
使概要文件 ./.indent.pro 和 $HOME/.indent.pro 被忽略。 |
-pcs |
在每个过程调用名称和后面的 ((左括号)间插入一个空格。 |
-npcs |
禁止在每个过程调用名称和跟着的 ((左括号)间的空格;激活该项,除非用 -pcs 标志关闭。 |
-ps |
在跟着 -> 运算符的指针的两边插入空格。 |
-nps |
禁止在跟着 -> 运算符的指针的两边插入空格;激活该项,除非用 -ps 标志关闭。 |
-psl |
左对齐被定义过程名;激活该项,除非用 -npsl 标志关闭。如果有过程类型,保留在前面的行里。 |
-npsl |
禁用定义过程名左对齐。 |
-sc |
使 *(星号)放置在注释的左边;激活该项,除非用 -nsc 标志关闭。 |
-nsc |
禁止将 *(星号)放置在注释的左边。 |
-slb |
把任何不在代码右边的单行注释视为一个注释块。 |
-nslb |
禁用把任何不在代码右边的单行注释视为一个注释块 ;激活该项,除非用 -slb 标志关闭。 |
-sob |
删除可选的空行。和以下任何标志的合作工作:-nbad、-nbap、或 -nbbb。仅删除那些用 -bad、-bap 或 -bbb 标志插入的空白行。 |
-nsob |
保留可选的空白行;激活该项,除非用 -sob 标志关闭。 |
-st |
使 indent 命令从标准输入和获得输入并输出到标准输出。 |
-TType |
添加 Type 变量到关键字类型列表。名称可累积以便 -T 能被指定多次。应当指定在程序中出现的由 typedef 语句定义的所有类型来从 indent 命令产生最好的输出。 |
-troff |
为了 troff 处理,格式化 C 程序。 产生一个与由 vgrind 命令产生的列表相似的列表。如果没有输出文件被指定,缺省是标准输出,而不是在适当的位置上格式化。 |
-v |
打开冗长模式,这种模式报告什么时候一行输入被分成两行或多行输出,并在完成后给出大小统计。 |
-nv |
关闭冗长模式;激活该项,除非用 -v 标志关闭。 |
示例
- 要用缺省设置的 indent 命令格式化 test.c
文件并将输出放入 newtest.c 文件,请输入:
indent test.c newtest.c
- 要格式化 test.c
文件以便在每个声明块和过程体后强制加入空白行,用所有其他缺省设置,并存贮输出到 newtest.c 文件,请输入:
indent test.c newtest.c -bad -bap
- 要用缺省设置的 indent 命令格式化 test.c
文件并定义 uint 作为一个可被 indent 命令识别的类型关键字,请输入:
indent test.c newtest.c -Tuint
文件
./.indent.pro |
包含概要文件。 |
$HOME/.indent.pro |
包含概要文件。 |
/usr/ccs/bin/indent |
包含 indent 命令。 |
相关信息
cb
命令。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『命令概述』。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]