'\" te .\" Copyright 1989 AT&T Copyright (c) 1992, X/Open Company Limited All Rights Reserved Portions Copyright (c) 1995, Sun Microsystems, Inc. All Rights Reserved .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase "this text" refers to portions of the system documentation.Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document.The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.This notice shall appear on any product containing this material. .TH tabs 1 "1995 年 2 月 1 日" "SunOS 5.11" "用户命令" .SH 名称 tabs \- 设置终端上的制表符 .SH 用法概要 .LP .nf \fBtabs\fR [\fB-n\fR | --\fIfile\fR [[\fB-code\fR] | \fB-a\fR | \fB-a2\fR | \fB-c\fR | \fB-c2\fR | \fB-c3\fR | \fB-f\fR | \fB-p\fR | \fB-s\fR | \fB-u\fR]] q!! [+m [\fIn\fR]] [\fB-T\fR \fItype\fR] .fi .LP .nf \fBtabs\fR [\fB-T\fR \fItype\fR] [+ \fIm\fR [\fIn\fR]] \fIn1\fR [, \fIn2\fR ,...] .fi .SH 描述 .sp .LP 在清除所有以前的设置之后,\fBtabs\fR 实用程序会根据制表符规范设置用户终端上的制表停止位置。用户终端必须可远程设置硬件制表符。 .SH 选项 .sp .LP 支持以下选项。如果给定的标志出现多次,则给定的最后一个值会生效: .sp .ne 2 .mk .na \fB\fB-T\fR \fItype\fR \fR .ad .RS 12n .rt \fBtabs\fR 需要知道终端的类型才能设置制表符和边距。\fItype\fR 是 \fBterm\fR(5) 中列出的名称。如果未提供 \fB-T\fR 标志,则 \fBtabs\fR 会使用环境变量 \fBTERM\fR 的值。如果 \fBTERM\fR 的值为 \fINULL\fR 或未在环境中定义 \fBTERM\fR(请参见 \fBenviron\fR(5)),则 \fBtabs\fR 会使用 \fBansi+tabs\fR 作为终端类型来提供适用于多个终端的序列。 .RE .sp .ne 2 .mk .na \fB\fB+m[\fR\fIn\fR\fB]\fR \fR .ad .RS 12n .rt 某些终端可使用边距参数。在左边距执行 \fIn\fR\fB+1\fR 列操作将使所有制表符移动 \fIn\fR 列。如果给定的 \fB+m\fR 没有 \fIn\fR 值,则假定值为 \fB10\fR。对于 TermiNet,制表符列表中的第一个值应为 \fB1\fR,或者边距继续向右移动。通过 \fB+m0\fR 可获得大多数终端上的常规(最左)边距。仅当显式给定 \fB+m\fR 标志时才重置大多数终端的边距。 .RE .SS "制表符规范" .sp .LP 认可的制表符规范有四种。下面将对其进行介绍:预制式、重复式 (\fB-\fR\fIn\fR)、任意式 (\fIn1,n2,...\fR) 和文件式 (\fB–\fR\fIfile\fR)。 .sp .LP 如果未给定制表符规范,则缺省值为 \fB-8\fR,即 UNIX 系统“标准”制表符。最小列号为 \fB1\fR。注意:对于 \fBtabs\fR,第 1 列始终指的是终端上最左侧的一列,即使存在其列标记符以 0 开头的终端,例如 DASI 300、DASI 300s 和 DASI 450。 .SS "\fI预制\fR\fB-代码\fR" .sp .LP 使用下面列出的代码之一选择一组预制的制表符。如果指定了多个代码,则使用最后一个代码选项。合法代码及其意义如下: .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .RS 7n .rt \fB1,10,16,36,72\fR 汇编程序,IBM S/370,第一格式 .RE .sp .ne 2 .mk .na \fB\fB-a2\fR\fR .ad .RS 7n .rt \fB1,10,16,40,72\fR .sp 汇编程序,IBM S/370,第二格式 .RE .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 7n .rt \fB1,8,12,16,20,55\fR .sp COBOL,正常格式 .RE .sp .ne 2 .mk .na \fB\fB-c2\fR\fR .ad .RS 7n .rt \fB1,6,10,14,49\fR .sp COBOL 压缩格式(忽略 1-6 列)。使用此代码时,键入的第一个字符对应的是卡片列第 7 卡列,按一次空格键将定位到第 8 列,按一次 tab 键将定位到第 12 列。使用此制表符设置的文件应包括如下格式规范(请参见 \fBfspec\fR(4)): .sp .in +2 .nf <:t\fB-c2\fR \|m6 \|s66 \|d:> .fi .in -2 .RE .sp .ne 2 .mk .na \fB\fB-c3\fR\fR .ad .RS 7n .rt \fB1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67\fR .sp COBOL 压缩格式(忽略 1-6 列),其制表符多于 \fB\fR\fB-c2\fR\fB\fR。这是推荐的 COBOL 格式。相应的格式规范为(请参见 \fBfspec\fR(4)): .sp .in +2 .nf <:t\fB-c3\fR \|m6 \|s66 \|d:> .fi .in -2 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 7n .rt \fB1,7,11,15,19,23\fR .sp FORTRAN .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 7n .rt \fB1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61\fR .sp PL/I .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 7n .rt \fB1,10,55\fR .sp SNOBOL .RE .sp .ne 2 .mk .na \fB\fB-u\fR\fR .ad .RS 7n .rt \fB1,12,20,44\fR .sp UNIVAC 1100 汇编程序 .RE .SS "\fI重复式\fR" .sp .ne 2 .mk .na \fB\fB-\fR\fIn\fR \fR .ad .RS 7n .rt \fI重复式\fR规范在第 1+\fIn\fR、1+2*\fIn\fR 列等位置请求制表符,其中 \fIn\fR 是一个个位十进制数。尤为重要的是值 \fB8\fR:它表示 UNIX 系统“标准”制表符设置,是终端上最常见的制表符设置。使用 \fB-0\fR 时,会清除制表停止位置且不会设置新的制表停止位置。 .RE .SS "\fI任意式\fR" .sp .LP 请参见“操作数”部分。 .SS "\fI文件式\fR" .sp .ne 2 .mk .na \fB\fB–\fR\fIfile\fR\fR .ad .RS 11n .rt 如果提供 \fIfile\fR 的名称,则 \fBtabs\fR 会读取该文件的第一行,以搜索格式规范(请参见 \fBfspec\fR(4))。如果在此处找到格式规范,则根据此规范设置制表停止位置,否则将这些制表停止位置设置为 \fB-8\fR。此类规范用于确保已设置有制表符的文件使用正确的制表符设置进行打印,此规范可与 \fBpr\fR 命令结合使用: .sp .in +2 .nf example% \fBtabs -\fI file\fR; pr\fI file\fR\fR .fi .in -2 .sp .RE .sp .LP 通过标准输出执行制表符和边距设置。 .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIn1\fR[,\fIn2\fR, . . .] \fR .ad .RS 19n .rt \fI任意式\fR格式由以逗号或空格分隔的制表停止位置值组成。制表停止位置值必须为以升序排列的十进制正整数。最多可允许 40 个列号。如果在任意数字(第一个数字除外)前面加正号,则会将其视为要加到前一个值的增量。因此,格式 \fB1\fR,\fB10\fR,\fB20\fR,\fB30\fR 和 \fB1\fR,\fB10\fR,\fB+10\fR,\fB+10\fR 视为相同。 .RE .SH 示例 .LP \fB示例 1 \fR使用 tabs 命令 .sp .LP 以下命令是使用\fB-代码\fR(\fI预制式\fR规范)将制表符设置为 IBM 汇编程序(第 1、10、16、36、72 列)所需的设置的示例: .sp .in +2 .nf example% \fBtabs -a\fR .fi .in -2 .sp .sp .LP 下一命令是使用 \fB-n\fR(\fI重复式\fR规范)(其中 \fIn\fR 为 \fB8\fR)在每个第八个位置(1+(1*8)、1+(2*8)、. . . ,等效于列 9、17、. . . )设置制表符的示例: .sp .in +2 .nf example% \fBtabs \(mi8\fR .fi .in -2 .sp .sp .LP 此命令使用 \fIn1\fR,\fIn2\fR,. . . (\fI任意式\fR规范)在第 1、8 和 36 列设置制表符: .sp .in +2 .nf example% \fBtabs 1,8,36\fR .fi .in -2 .sp .sp .LP 最后一个命令是使用 \fI–file\fR(\fB文件式\fR规范)指出应根据 $\fBHOME\fR/fspec.list/att4425 的第一行设置制表符(请参见 \fBfspec\fR(4))的示例。 .sp .in +2 .nf example% \fBtabs -$HOME/fspec.list/att4425\fR .fi .in -2 .sp .SH 环境变量 .sp .LP 有关影响 \fBtabs\fR 执行的以下环境变量的说明,请参见 \fBenviron\fR(5):\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR 和 \fBNLSPATH\fR。 .sp .ne 2 .mk .na \fB\fBTERM\fR \fR .ad .RS 9n .rt 确定终端类型。如果未设置此变量或者为 NULL 并且未指定 \fB-T\fR 选项,则使用 \fBansi+tabs\fR 终端类型。 .RE .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 7n .rt 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB>0\fR \fR .ad .RS 7n .rt 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ CSIEnabled(已启用) _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SH 另请参见 .sp .LP \fBexpand\fR(1)、\fBnewform\fR(1)、\fBpr\fR(1)、\fBstty\fR(1)、\fBtput\fR(1)、\fBfspec\fR(4)、\fBterminfo\fR(4)、\fBattributes\fR(5)、\fBenviron\fR(5)、\fBterm\fR(5)、\fBstandards\fR(5) .SH 附注 .sp .LP 对于不同的终端,清除制表符和设置左边距的方式会存在不一致性。 .sp .LP \fBtabs\fR 仅清除 \fB20\fR 个制表符(在终端上要求一个长序列),但是它愿意设置 \fB64\fR 个制表符。 .sp .LP 与 \fBtabs\fR 命令结合使用的 \fItabspec\fR 不同于与 \fBnewform\fR 命令结合使用的 tabspec。例如,\fBtabs\fR \fB-8\fR 在每个第八个位置设置制表符,而 \fBnewform\fR \fB -i-8\fR 则指出在每个第八个位置设置制表符。