tabs [-n | −−file [[-code] | -a | -a2 | -c | -c2 | -c3 | -f | -p | -s | -u]] q!! [+m [n]] [-T type]
tabs [-T type] [+ m [n]] n1 [, n2 ,...]
在清除所有以前的设置之后,tabs 实用程序会根据制表符规范设置用户终端上的制表停止位置。用户终端必须可远程设置硬件制表符。
支持以下选项。如果给定的标志出现多次,则给定的最后一个值会生效:
tabs 需要知道终端的类型才能设置制表符和边距。type 是 term(5) 中列出的名称。如果未提供 –T 标志,则 tabs 会使用环境变量 TERM 的值。如果 TERM 的值为 NULL 或未在环境中定义 TERM(请参见 environ(5)),则 tabs 会使用 ansi+tabs 作为终端类型来提供适用于多个终端的序列。
某些终端可使用边距参数。在左边距执行 n+1 列操作将使所有制表符移动 n 列。如果给定的 +m 没有 n 值,则假定值为 10。对于 TermiNet,制表符列表中的第一个值应为 1,或者边距继续向右移动。通过 +m0 可获得大多数终端上的常规(最左)边距。仅当显式给定 +m 标志时才重置大多数终端的边距。
认可的制表符规范有四种。下面将对其进行介绍:预制式、重复式 (–n)、任意式 (n1,n2,...) 和文件式 (–file)。
如果未给定制表符规范,则缺省值为 −8,即 UNIX 系统“标准”制表符。最小列号为 1。注意:对于 tabs,第 1 列始终指的是终端上最左侧的一列,即使存在其列标记符以 0 开头的终端,例如 DASI 300、DASI 300s 和 DASI 450。
使用下面列出的代码之一选择一组预制的制表符。如果指定了多个代码,则使用最后一个代码选项。合法代码及其意义如下:
1,10,16,36,72 汇编程序,IBM S/370,第一格式
1,10,16,40,72
汇编程序,IBM S/370,第二格式
1,8,12,16,20,55
COBOL,正常格式
1,6,10,14,49
COBOL 压缩格式(忽略 1-6 列)。使用此代码时,键入的第一个字符对应的是卡片列第 7 卡列,按一次空格键将定位到第 8 列,按一次 tab 键将定位到第 12 列。使用此制表符设置的文件应包括如下格式规范(请参见 fspec(4)):
<:t–c2 m6 s66 d:>
1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
COBOL 压缩格式(忽略 1-6 列),其制表符多于 –c2。这是推荐的 COBOL 格式。相应的格式规范为(请参见 fspec(4)):
<:t–c3 m6 s66 d:>
1,7,11,15,19,23
FORTRAN
1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
PL/I
1,10,55
SNOBOL
1,12,20,44
UNIVAC 1100 汇编程序
重复式规范在第 1+n、1+2*n 列等位置请求制表符,其中 n 是一个个位十进制数。尤为重要的是值 8:它表示 UNIX 系统“标准”制表符设置,是终端上最常见的制表符设置。使用 −0 时,会清除制表停止位置且不会设置新的制表停止位置。
请参见“操作数”部分。
如果提供 file 的名称,则 tabs 会读取该文件的第一行,以搜索格式规范(请参见 fspec(4))。如果在此处找到格式规范,则根据此规范设置制表停止位置,否则将这些制表停止位置设置为 −8。此类规范用于确保已设置有制表符的文件使用正确的制表符设置进行打印,此规范可与 pr 命令结合使用:
example% tabs – file; pr file
通过标准输出执行制表符和边距设置。
支持下列操作数:
任意式格式由以逗号或空格分隔的制表停止位置值组成。制表停止位置值必须为以升序排列的十进制正整数。最多可允许 40 个列号。如果在任意数字(第一个数字除外)前面加正号,则会将其视为要加到前一个值的增量。因此,格式 1,10,20,30 和 1,10,+10,+10 视为相同。
以下命令是使用–代码(预制式规范)将制表符设置为 IBM 汇编程序(第 1、10、16、36、72 列)所需的设置的示例:
example% tabs -a
下一命令是使用 –n(重复式规范)(其中 n 为 8)在每个第八个位置(1+(1*8)、1+(2*8)、. . . ,等效于列 9、17、. . . )设置制表符的示例:
example% tabs −8
此命令使用 n1,n2,. . . (任意式规范)在第 1、8 和 36 列设置制表符:
example% tabs 1,8,36
最后一个命令是使用 –file(文件式规范)指出应根据 $HOME/fspec.list/att4425 的第一行设置制表符(请参见 fspec(4))的示例。
example% tabs –$HOME/fspec.list/att4425
有关影响 tabs 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
确定终端类型。如果未设置此变量或者为 NULL 并且未指定 –T 选项,则使用 ansi+tabs 终端类型。
将返回以下退出值:
成功完成。
出现错误。
有关下列属性的说明,请参见 attributes(5):
|
expand(1)、newform(1)、pr(1)、stty(1)、tput(1)、fspec(4)、terminfo(4)、attributes(5)、environ(5)、term(5)、standards(5)
对于不同的终端,清除制表符和设置左边距的方式会存在不一致性。
tabs 仅清除 20 个制表符(在终端上要求一个长序列),但是它愿意设置 64 个制表符。
与 tabs 命令结合使用的 tabspec 不同于与 newform 命令结合使用的 tabspec。例如,tabs −8 在每个第八个位置设置制表符,而 newform −i−8 则指出在每个第八个位置设置制表符。