跳过导航链接 | |
退出打印视图 | |
手册页第 1 部分:用户命令 Oracle Solaris 11 Information Library (简体中文) |
- 格式化易阅读的程序列表
vgrind [-2fntwx] [-d defs-file] [-h header] [-l language] [-s n] [-o pagelist] [-P printer] [-T output-device] filename...
vgrind 实用程序使用 troff(1) 命令以易于阅读的风格格式化由 filename 参数指定的程序源。注释以斜体显示,关键字以粗体显示,遇到的每个函数的名称在页边空白中列出。
vgrind 以两种基本模式运行:过滤模式或常规模式。在过滤模式中,vgrind 以一种类似于 tbl(1) 命令的方式充当过滤器。标准输入直接被传递到标准输出,但用 troff 样式的宏括起来的行除外:
开始处理
结束处理
这些行按照以上所述进行格式化。可以将此过滤器的输出传递到 troff 进行输出。eqn(1) 或 tbl(1) 无需特定的顺序。
在常规模式中,vgrind 接受输入的 filename,进行处理并将它们传递到 troff 以便输出。使用连字符 ('-') 指定标准输入。否则,vgrind 将会退出,而不会尝试读取标准输入。文件名必须在所有其他选项参数后指定。
在常规模式中,如果指定了 -t 或 -P 选项,则输出如下:
在指定了 -t 选项的情况下,以 troff 格式发出到标准输出。
在指定了 -P 选项的情况下,以 PostScript 格式输出到指定的打印机。
否则,输出如下:
在定义了系统缺省打印机并且该命令的标准输出为 tty 的情况下,以 PostScript 格式输出到该打印机。
在标准输出非 tty(即标准输出是到文件的管道或重定向)的情况下,以 PostScript 格式发出到标准输出。
在这两种模式中,vgrind 将传递以小数点开头的任意行,而不进行转换。
支持下列选项:
产生两列输出。指定该选项会将缺省的点尺寸更改为 8(就像提供了 -s8 选项一样)。此外,还会将输出调整为以横向模式显示。
强制使用过滤模式。
不将关键字设置为粗体。
考虑使制表符相隔四列,而不是通常的八列。
以一种易于阅读的格式输出索引文件。只要在运行 vgrind 时当前目录中存在一个称为 index 的文件,就会自动生成索引文件本身。然后,可以通过在 vgrind 中指定 -x 选项以及将 index 文件作为参数,从而关闭函数定义索引。
指定备用的语言定义文件(缺省为 /usr/lib/vgrindefs)。
指定要显示在每个输出页的中间位置的页眉。使用引号指定嵌入了空格的页眉。
指定要使用的语言。当前已知的语言有:Bourne shell (-lsh)、C(-lc,缺省语言)、C++ (-lc++)、C shell (-lcsh)、emacs MLisp (-lml)、FORTRAN (-lf)、Icon (-lI)、ISP (-i)、LDL (-lLDL)、Model (-lm)、Pascal (-lp) 以及 RATFOR (-lr)。
将输出发送到指定的 printer。
指定要在输出上使用的点尺寸(与 troff .ps 点尺寸请求的参数完全相同)。
vgrind 将下列选项传递给由 TROFF 环境变量指定的格式化程序。请参见“环境变量”。
与 troff 中的同一选项类似,即格式化文本输出到标准输出。
只输出以逗号分隔的页号及页号范围 pagelist 中出现的页号对应的页面。例如,页号范围 N-M 表示页面 N 到页面 M;初始的 -N 表示起始页到页面 N;最后的 N- 表示从页面 N 到最后一页。
格式化指定的 output-device 的输出。
支持以下操作数:
要由 vgrind 处理的程序源的名称。使用 '-' 指定标准输入。
在常规模式中,vgrind 会将其中间输出提供给 TROFF 环境变量的值指定的文本格式化程序,或提供给 /usr/bin/troff(如果环境中未定义该变量)。该机制允许 troff 名称出现局部变化。
在其中创建了索引源的文件
语言描述
预处理程序
宏软件包
有关下列属性的描述,请参见 attributes(5):
|
csh(1)、ctags(1)、eqn(1)、tbl(1)、troff(1)、attributes(5)、vgrindefs(5)
vgrind 假定遵循某种编程风格:
每行的函数名称前面只能添加空格、制表符或星号 (*)。括号中的参数还必须在同一行。
函数名称需和关键字 function 或 subroutine 显示在同一行。
函数名称不应和前面的 defun 显示在同一行。
函数名称需和关键字 is beginproc 显示在同一行。
函数名称需和关键字 function 或 procedure 显示在同一行。
如果不遵守以上约定,索引建立以及边际函数名称注释机制将会失败。
更普遍的情况是,任意选择程序格式化样式通常会导致未见过的结果。准备程序以进行 vgrind 输出时,请使用制表符(而非空格字符)将源代码正确对齐,因为 vgrind 使用可变宽度的字体。
此处应使用 ctags(1) 的函数识别机制。
-w 选项令人厌烦,但除此之外别无它法能达到所需效果。
tmac.vgrind 中定义的宏无法与其他宏软件包中的宏正常共存,这使得过滤模式很难有效利用。
vgrind 无法正确处理 csh(1) 脚本中的某些特殊字符。
tmac.vgrind 格式化宏不支持两列模式中使用的页面高度与宽度,这使得两列输出只对美国标准页面大小(8.5 英寸 x 11 英寸)有效,而对其他页面大小毫无用处。对于其他页面大小,需要编辑 tmac.vgrind 中给定的大小值。更好的解决方案就是,创建专门针对横向输出的 troff 输出设备规范并在其中记录大小信息。