X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftabs.1.html;h=86ed1574694565b4ccd8a522d603b17ffc55280d;hp=26d9678affc50a46bb95d112f558be2295a97b4c;hb=HEAD;hpb=9b51794524995304d8788e42aacb36feede9364f diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html index 26d9678a..5a548fab 100644 --- a/doc/html/man/tabs.1.html +++ b/doc/html/man/tabs.1.html @@ -1,6 +1,6 @@
--tabs(1) General Commands Manual tabs(1) +tabs(1) User commands tabs(1)
- tabs - set tabs on a terminal + tabs - set terminal tab stops
- tabs [options]] [tabstop-list] + tabs [options] [tabstop-list]
The tabs program clears and sets tab-stops on the terminal. This uses - the terminfo clear_all_tabs and set_tab capabilities. If either is + the terminfo clear_all_tabs and set_tab capabilities. If either is absent, tabs is unable to clear/set tab-stops. The terminal should be configured to use hard tabs, e.g., @@ -97,7 +97,7 @@ -n This option tells tabs to check the options and run any debugging option, but not to modify the terminal settings. - -V reports the version of ncurses which was used in this program, and + -V reports the version of ncurses which was used in this program, and exits. The tabs program processes a single list of tab stops. The last option @@ -132,86 +132,133 @@ which is equivalent to the 1,6,11,16,21 example. -
- X/Open defines several predefined lists of tab stops. +
+ POSIX defines several predefined lists of tab stops. -a Assembler, IBM S/370, first format + 1,10,16,36,72 -a2 Assembler, IBM S/370, second format + 1,10,16,40,72 -c COBOL, normal format + 1,8,12,16,20,55 -c2 COBOL compact format + 1,6,10,14,49 -c3 COBOL compact format extended + 1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67 -f FORTRAN + 1,7,11,15,19,23 -p PL/I + 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 -s SNOBOL + 1,10,55 -u UNIVAC 1100 Assembler + 1,12,20,44 + + +
+ A few terminals expose a means of changing their left and right + margins. tabs supports this feature with an option. + + +m margin + The effect depends on whether the terminal has the margin + capabilities: + + o If the terminal provides the capability for setting the left + margin, tabs uses this, and adjusts the available tab stop + widths. + + o If the terminal does not provide the margin capabilities, tabs + imitates their effect, putting tab stops at appropriate places + on each line. The terminal's left margin is not modified. + + If the margin parameter is omitted, the default is 10. Use +m0 to + reset the left margin, that is, to make it the left edge of the + terminal's display. Before setting a left margin, tabs resets the + margin to reduce problems that might arise from moving the cursor + to the left of the current left margin. + + When setting or resetting the left margin, tabs may also reset the + right margin. + + +
+ /usr/share/tabset + tab stop initialization database
- IEEE Std 1003.1/The Open Group Base Specifications Issue 7 - (POSIX.1-2008) describes a tabs utility. However + IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + (POSIX.1-2008) describes a tabs utility. However, - o This standard describes a +m option, to set a terminal's left- - margin. Very few of the entries in the terminal database provide - the smgl (set_left_margin) or smglp (set_left_margin_parm) - capability needed to support the feature. + o this standard describes a +m option to set a terminal's left + margin. Very few of the entries in the terminal database provide + the set_left_margin (smgl) or set_left_margin_parm (smglp) + capabilities needed to support the feature. - o There is no counterpart in X/Open Curses Issue 7 for this utility, - unlike tput(1). + o There is no counterpart in X/Open Curses Issue 7 for this utility, + unlike tput(1). - The -d (debug) and -n (no-op) options are extensions not provided by - other implementations. + The -d (debug) and -n (no-op) options are ncurses extensions not + provided by other implementations. - A tabs utility appeared in PWB/Unix 1.0 (1977). There was a reduced - version of the tabs utility in Unix 7th edition and in 3BSD (1979). - The latter supported a single "-n" option (to cause the first tab stop - to be set on the left margin). That option is not documented by POSIX. - The PWB/Unix tabs utility, which was included in System III (1980), - used built-in tables rather than the terminal database, to support a - half-dozen terminal types. It also had built-in logic to support the - left-margin, as well as a feature for copying the tab settings from a - file. +
+ A tabs utility appeared in PWB/Unix 1.0 (1977). A reduced version + shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the + same year); it supported a "-n" option to set the first tab stop at the + left margin. That option is not specified by POSIX. - Later versions of Unix, e.g., SVr4, added support for the terminal - database, but kept the tables, as a fallback. In an earlier - development effort, the tab-stop initialization provided by tset (1982) - and incorporated into tput uses the terminal database, + The PWB/Unix tabs utility returned in System III (1980), and used + built-in tables to support a half-dozen hardcopy terminal (printer) + types. It also had logic to support setting the left margin, as well + as a feature for copying the tab settings from a file. - POSIX documents no limits on the number of tab stops. Documentation - for other implementations states that there is a limit on the number of - tab stops (e.g., 20 in PWB/Unix's tabs utility). While some terminals - may not accept an arbitrary number of tab stops, this implementation - will attempt to set tab stops up to the right margin of the screen, if - the given list happens to be that long. + Versions of the program in later releases of AT&T Unix, such as SVr4, + added support for the terminal database, but retained the tables to + support the printers. By this time, System V tput had incorporated the + tab stop initialization feature of BSD's tset from 1982, but employed + the terminfo database to do so. - The Rationale section of the POSIX documentation goes into some detail - about the ways the committee considered redesigning the tabs and tput - utilities, without proposing an improved solution. It comments that + The +m option was documented in the POSIX Base Specifications Issue 5 + (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express + motivation, though an introductory comment "and optionally adjusts the + margin" remains, overlooked in the removal. The tabs utility + documented in Issues 6 and later has no mechanism for setting margins. + The +m option in ncurses tabs differs from the SVr4 feature by using + terminal capabilities rather than built-in tables. - no known historical version of tabs supports the capability of - setting arbitrary tab stops. + POSIX documents no limit on the number of tab stops. Other + implementations impose one; the limit is 20 in PWB/Unix's tabs utility. + While some terminals may not accept an arbitrary number of tab stops, + ncurses tabs attempts to set tab stops up to the right margin if the + list thereof is sufficiently long. - However, the Explicit Lists described in this manual page were - implemented in PWB/Unix. Those provide the capability of setting - abitrary tab stops. + The "Rationale" section of the Issue 6 tabs reference page details how + the committee considered redesigning the tabs and tput utilities, + without settling on an improved solution. It claims that + "no known historical version of tabs supports the capability of + setting arbitrary tab stops." + + The feature described in subsection "Explicit Lists" above was + implemented in PWB/Unix, and permitted the setting of abitrary tab + stops nevertheless. -
- infocmp(1m), tset(1), curses(3x), terminfo(5). - This describes ncurses version 6.2 (patch 20210828). +
+ infocmp(1m), tset(1), curses(3x), terminfo(5) - tabs(1) +ncurses 6.5 2024-04-20 tabs(1)