Введение
Клавиша табуляции на клавиатуре (сокращенно Tab, от англ. tabulator key или tabular key) используется для перемещения курсора к следующей позиции табуляции.
The tab key (abbreviation of tabulator key or tabular key) on a keyboard is used to advance the cursor to the next tab stop.
История
Слово «tab» происходит от слова «tabulate», что означает «упорядочивать данные в табличной форме». Когда человеку нужно было напечатать таблицу (чисел или текста) на пишущей машинке, это требовало много времени и повторяющегося использования клавиш пробела и «Backspace». Чтобы упростить эту задачу, в механизме, называемом стойкой для табуляции, была размещена горизонтальная планка. Нажатие клавиши «Tab» перемещало каретку к следующей позиции табуляции. Первоначальные позиции табуляции представляли собой регулируемые клипсы, которые пользователь мог располагать на стойке табуляции. Фредерик Хиллард подал заявку на патент на такой механизм в 1900 году. Механизм табуляции стал эффективным и надежным способом равномерного отступа первой строки каждого абзаца. Для этого часто использовалась первая позиция табуляции в 5 или 6 символов, что значительно превышало отступ, используемый при наборе текста. Однако для числовых данных логичным местом для позиции табуляции является положение наименее значимой цифры. Перемещение к этой позиции с помощью клавиши «Tab», а затем нажатие «Backspace» для возврата к положению первой цифры – практично, но медленно. Было предложено несколько схем для числовых табуляций. Например, в 1903 году Гарри Дьюкс и Уильям Клейтон подали заявку на патент на механизм табуляции с несколькими клавишами табуляции, пронумерованными 1, 10, 100 и т. д. Нажатие клавиши «1» выполняло простую табуляцию. Нажатие «10» перемещало каретку на одно место перед позицией табуляции, а нажатие «100» – на два места перед позицией табуляции. Первоначально позиции табуляции устанавливались путем добавления и удаления клипс на стойке табуляции, но Эдвард Хесс, работавший в компании Royal Typewriter Company, подал заявку на патент в 1904 году, охватывающий систему, в которой позиции табуляции были постоянно закреплены на планке табуляции. Для установки или сброса табуляции для определенного столбца позиция табуляции для этого столбца просто поворачивалась для включения или исключения. В 1940 году Джеймс Кока подал заявку на патент на механизм, позволяющий устанавливать и удалять позиции табуляции для каждого столбца с клавиатуры, устраняя необходимость для машинистки наклоняться над задней частью машины для непосредственной манипуляции стойкой табуляции. Эти клавиши, если они присутствуют, обычно обозначаются как «Tab Set» и «Tab Clear».
Современное использование
В текстовой обработке и редактировании текста клавиша Tab перемещает курсор на следующую табуляцию в таблице, вставляет символ табуляции ASCII или несколько пробелов (в зависимости от используемой программы). При заполнении компьютерной формы нажатие Tab часто перемещает курсор в следующее поле (а Shift+Tab – в предыдущее), избавляя от необходимости использовать мышь для выбора соседнего поля. Во многих графических приложениях, особенно в Windows, клавиша Tab переключает фокус между элементами управления или виджетами, такими как кнопки, позволяя использовать интерфейс без мыши (это было частью концепции IBM Common User Access). В macOS это реализовано как опция "Полный доступ с клавиатуры". Функция автодополнения (tab completion) позволяет завершать ввод частично набранного текста. Например, в некоторых командных строках можно ввести первые несколько символов команды или имени файла, а затем нажать Tab. Если ввод однозначен, остальная часть текста будет дополнена автоматически. В некоторых системах, даже если ввод неоднозначен, автодополнение предложит список возможных вариантов. Автодополнение более распространено в Linux, Unix и Unix-подобных системах, чем в Windows. В компьютерных играх клавиша Tab часто используется для отображения счета в многопользовательских играх. В одиночных играх она также может отображать карту мира или инвентарь игрока, а также другую полезную информацию. В разработке программного обеспечения, при создании компьютерных программ или хранении и обработке данных в файлах, символ табуляции часто используется для отступов, чтобы облегчить чтение и придать коду или данным семантическую структуру. Некоторые программисты и языки программирования предпочитают использовать несколько пробелов вместо этого. Поэтому многие текстовые редакторы имеют опцию, которая позволяет клавише Tab вставлять заданное количество пробелов, эквивалентное символу табуляции (по умолчанию обычно четыре).
Знаки вкладки
Наиболее известной и распространенной вкладкой является горизонтальная табуляция (HT) или табуляция символов, которая в ASCII имеет десятичный код символа 9 и может быть обозначена как или В C и многих других языках программирования последовательность экранирования можно использовать для вставки этого символа в строковый литерал. Горизонтальная табуляция обычно вставляется при нажатии клавиши Tab на стандартной клавиатуре. Существует также вертикальная табуляция (VT), имеющая десятичный код символа ASCII 11 (или ), являющийся управляющим символом. В EBCDIC код для HT равен 5, а VT – 11 (совпадающий с кодом в ASCII). Изначально в печатных механизмах использовались механические ограничители табуляции для указания позиций табуляции. Горизонтальные ограничители представляли собой ряд подвижных металлических штырей, а вертикальные – петлю из майлара или другой ленты, длиной в страницу, с пробитыми отверстиями, обозначающими позиции табуляции. Эти ограничители настраивались вручную для соответствия предварительно напечатанным формам, загружаемым в принтер. На практике настраиваемые ограничители табуляции быстро были заменены фиксированными, де-факто стандартизированными с шагом в восемь символов по горизонтали и шесть строк по вертикали. Программа печати могла отправлять ноль или более символов табуляции для достижения ближайшего ограничителя табуляции выше и левее желаемой позиции печати, а затем отправлять переводы строки и пробелы для точного позиционирования. Символы табуляции стали своеобразной формой сжатия данных. Несмотря на то, что типичный отступ абзаца на пишущих машинках в то время составлял пять символов, размер горизонтальной табуляции в восемь символов сложился из-за того, что, будучи степенью двойки, он легче вычислялся с использованием ограниченной цифровой электроники. Использование табуляции такого размера для отступа кода приводит к большому количеству пустого пространства слева, поэтому большинство текстовых редакторов для кода, таких как IDE, позволяют изменять размер табуляции, а некоторые (особенно в Windows) по умолчанию используют четыре символа вместо восьми. Расхождения во мнениях между программистами относительно оптимального размера табуляции и целесообразности ее использования в целом – обычное явление. Современные текстовые редакторы обычно позволяют клавише Tab вставлять пользовательский отступ и могут использовать эвристические алгоритмы для адаптации этого поведения к существующим файлам. Стандарт ISO 6429 включает коды 136 (Установка горизонтальной табуляции), 137 (Горизонтальная табуляция с выравниванием) и 138 (Установка вертикальной табуляции), предназначенные для установки и сброса ограничителей табуляции. Однако эти функции редко используются или поддерживаются.
In EBCDIC the code for HT is 5. VT is 11 (coincidentally the same as in ASCII). 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. These were manually set to match the pre printed forms that were loaded into the printer. In practice, settable tab stops were rather quickly replaced with fixed tab stops, de facto standardized at every multiple of eight characters horizontally, and every six lines vertically. A printing program could send zero or more tabs to get to the closest tab stop above and left of where it wanted to print, then send line feeds and spaces to get to the final location. Tab characters simply became a form of data compression. Despite the fact that five characters were the typical paragraph indentation on typewriters at that time, the horizontal tab size of eight evolved because as a power of two it was easier to calculate with the limited digital electronics available. Using this size tab to indent code results in much white space on the left, so most text editors for code, such as IDEs, allow the size of the tab to be changed, and some (in particular on Windows) default to four instead of eight. Disagreements between programmers about what size tabs are correct, and whether to use tabs at all, are common. Modern text editors usually have the Tab key insert the user defined indentation and may use heuristics to adapt this behavior to existing files. ISO 6429 includes the codes 136 (Horizontal Tabulation Set), 137 (Horizontal Tabulation with Justification) and 138 (Vertical Tabulation Set) that were intended to allow the program to set and clear tab stops. This is rarely used or supported.
Значения, разделенные на таблетки
Для экспорта и импорта значений полей баз данных или электронных таблиц используются файлы с разделителями – табуляцией (TSV). Текст, разделенный на поля с помощью табуляции, часто можно скопировать в текстовый редактор и отформатировать в таблицу одной командой. Например, в Microsoft Word 2010, Вставка > Таблица > Преобразовать текст в таблицу – это необходимая команда, открывающая диалоговое окно, где пользователь может указать дополнительные параметры. Формат TSV для экспорта данных можно сравнить с альтернативным форматом CSV (значения, разделенные запятыми), который может использовать точки с запятой вместо запятых, и оба формата легко конвертируются друг в друга. Меню Gopher используют значения, разделенные табуляцией, для обозначения пунктов выбора. TSV также упоминается в современном подходе к решению споров в программировании об использовании табуляции и пробелов для выравнивания кода, известном как эластичные табуляции. В этой идее используется схема, называемая столбцами, разделенными табуляцией (TSC), а не похожие значения, разделенные табуляцией (TSV).