- Tab key
-
Tab key (abbreviation of tabulator key[1] or tabular key[2]) on a keyboard is used to advance the cursor to the next tab stop.
Contents
Origin
The word tab derives from the word tabulate, which means "to arrange data in a tabular, or table, form". When a person wanted to type a table (of numbers or text) on a typewriter, there was a lot of time-consuming and repetitive use of the space bar and backspace key. To simplify this, a horizontal bar was placed in the mechanism with a moveable lever stop for every position across the page. Initially these were set by hand, but later tab set and tab clear keys were added. When the tab key was depressed, the carriage advanced to the next tab stop. These were set to correspond to the particular column locations of the table, hence tab, being worked on. The tab mechanism also came into its own as a rapid and consistent way of uniformly indenting the first line of each paragraph.
Usage
In modern applications, the Tab key rarely has the effect of inserting the Tab character. In word processor applications, the Tab key typically moves the cursor to the next tab stop. In most other graphical applications, the Tab key will shift the focus to the next control or widget.
Tab characters
Several tab characters are included as ASCII control characters, used for text alignment. The most known and common tab is a horizontal tab (HT), which in ASCII has the decimal character code of 9, and may be referred to as control+I or ^I. A vertical tab (VT) also exists and has ASCII decimal character code 11 (control+K or ^K). The EBCDIC code for HT is 5. The VT is 11 or hex 0B, the same as in ASCII. The horizontal tab is usually generated by the Tab key on a standard keyboard.
Originally, printer mechanisms used mechanical tab stops to indicate where the tabs went. This was done horizontally with movable metal prongs in a row, and vertically with a loop of mylar or other tape the length of a page with holes punched in it to indicate the tab stops. Initially these were manually set up to match the preprinted forms that were loaded into the printer. Later, the intention was to have the machine be pre-programmed, by using other control characters to set and clear the stops: ISO 6429 includes the codes 136 (Horizontal Tabulation Set), 137 (Horizontal Tabulation with Justification) and 138 (Vertical Tabulation Set).
In practice, settable tab stops were rather quickly replaced with fixed tab stops, de facto standardized at every multiple of 8 characters horizontally, and every 6 lines vertically (typically one inch vertically). A printing program could easily send the necessary spaces or line feeds to move to any position wanted on a form, and this was far more reliable than the modal and non-standard methods of setting tab stops. Tab characters simply became a form of data compression.
It is unclear why the 8-character horizontal tab size was chosen, since 5 characters, a half inch in a typical printer at that time, was much more popular as a paragraph indentation. The number 8 may have been chosen to match early Fortran conventions, where the statement text started after the line number and continuation character. It may have been chosen as the smallest size that would fit numbers typically printed in a table.[original research?]
Tab-separated values (TSV)
Tab-separated values (TSV) are a common de facto standard for exporting and importing database or spreadsheet field values. Text divided into fields delimited by tabs can often be pasted into a word processor and formatted into a table with a single command.[further explanation needed]
The TSV convention for exporting data may be compared to the alternative comma-separated values (CSV) convention.
Gopher menus use tab-separated values to indicate selectors.
Tabs in HTML
HTML represents the horizontal tab as
	
but as with all whitespace characters this does not allow actual insertion of tabs into the page except inside<pre></pre>
tags or elements with CSS attributewhite-space
set topre
.Here is an example showing the use of
	
with<pre></pre>
tags. If you write in HTML:These 2 lines are tabbed: 2009	This line uses a tab space. 	This line also uses a tab space. This line does not use a tab space.
The result would be something like this:
These 2 lines are tabbed: 2009 This line uses a tab space. This line also uses a tab space. This line does not use a tab space.
The vertical tab is

but is not allowed in SGML, including HTML and XML 1.0.The issue is of concern in the use of CSS, which asserts that in an element where white space is to be preserved:
... 2. All tabs (U+0009) are rendered as a horizontal shift that lines up the start edge of the next glyph with the next tab stop. Tab stops occur at points that are multiples of 8 times the width of a space (U+0020) rendered in the block's font from the block's starting content edge.
The Opera web browser supports the
-o-tab-size
CSS property, which adjusts the default number of spaces for the tab character. [3]See also
References
- ^ "Underwood Portable Typewriter Gallery". http://machinesoflovinggrace.com/ptf/UnderwoodPortableGallery.html. Retrieved 2011-04-09.
- ^ "Instructions for Using the Underwood Typewriter". http://www.machinesoflovinggrace.com/manuals/Underwood3-5manual.pdf). Retrieved 2011-04-09.
- ^ Controlling size of a tab character (U+0009)
External links
- Tabs versus Spaces: An Eternal Holy War by Jamie Zawinski
- Why I prefer no tabs in source code by Adam Spiers
- Why I love having tabs in source code
- Elastic tabstops - the solution to the tabs-versus-spaces issue
IBM PC keyboard (Windows, US layout)Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PrtScn/
SysRqScrLk Pause/
BreakIns Home PgUp Num Lock / * - Del End PgDn 7 8 9 + 4 5 6 ↑ 1 2 3 Ent ← ↓ → 0 . Keyboard keys Dead keys Modifier keys Lock keys Navigation Editing Misc. System request/Print screen · Break/Pause · Escape · Menu · Numeric keypad · Function · Power management (Power, Sleep, Wake) · Language input · any key · Macro key ·Categories:- Computer keys
- Control characters
- Whitespace
Wikimedia Foundation. 2010.