Backspace е клавиш на клавиатурата (понякога маркиран като ←), който в исторически план премествал каретата на пишещата машина с една позиция назад. В съвременните компютърни среди натискането на backspace премества курсора с една позиция наляво и обикновено изтрива символа, който е преди курсора, като текстът след него се измества съответно.

История и връзка с overstrike

На механичните пишещи машини операторът е могъл да постигне комбинирани символи (например á) чрез въвеждане на основната буква, натискане на backspace и след това нанасяне на диакритичния знак (overstrike). Това поведение стои в основата на някои ранни методи за представяне на диакритични знаци в наборите от знаци (например ASCII caret ^ за циркумфлекс). С въвеждането на цифровите дисплеи и съвременните системи този подход е заменен от механизми за комбиниране на диакритични знаци в Unicode, въпреки че не всички шрифтове обработват комбинираните знаци перфектно и затова предварително композирани символи все още се използват широко.

Контролни кодове и терминали

На компютърен терминал натискането на backspace обикновено генерира ASCII код 08 (BS, Backspace). Същият код може да бъде произведен и чрез Control-H, тъй като H е осмата буква в латинската азбука. Някои терминали и конфигурации могат да асоциират backspace с кода 0x7F (DEL) вместо 0x08; в зависимост от настройките това може да промени начина, по който се обработва натискането на клавиша.

Ако терминалът не интерпретира backspace като команда за изтриване, натискането му може да изведе символите ^H (карета и H). Тази последователност е останала в културата на програмистите като хумористичен начин да се "зачеркне" вече написан текст — т.е. да се покаже, че нещо е било изтрито в ретроспекция.

Пример (често използван за шега):

Моят робски дри^H^H^H^H^H^H^H^H^H шеф реши да забави проекта.

Често използвани комбинации и поведение в шел/редактори

  • Control-H — еквивалентен на backspace в много системи (произвежда ASCII 08).
  • Ctrl+W — в много шел среди (примерно Berkeley Unix) изтрива предишната дума; един ^W може да замени дълга поредица от ^H.
  • Ctrl+U — "kill line", премахва цялата текуща редица в терминала (може да надмине поредица от ^W при нужда).
  • В текстови редактори като Vi също са въведени подобни функционалности за премахване на думи или редове.

Backspace срещу Delete

Backspace се различава от клавиша Delete. Традиционно:

  • Backspace изтрива символа вляво от курсора (предхождащия символ).
  • Delete премахва символа вдясно от курсора (след курсора) или служи като обща команда за премахване на обект (например файл или изображение в документ).

В някои хардуерни или софтуерни среди означенията могат да се припокриват: на някои клавиатури клавишът за backspace може да бъде надписан като Delete, Erase или с лява стрелка.

Поведение в операционни системи и браузъри

В съвременните настолни системи backspace често изпраща код, който се интерпретира като Delete (0x7F) или като ASCII BS (0x08), в зависимост от конфигурацията, но основната функция — изтриване на символа вляво от курсора — остава. При Microsoft Windows и други графични среди клавишът често изтрива символа вляво. На macOS клавишът, маркиран като "Delete", функционира като backspace (изтрива вляво), а за изтриване напред обикновено се използва Fn+Delete.

В уеб браузърите традиционно натискането на backspace е водело до връщане назад в историята на страниците (Back). Поради чести случайни загуби на данни браузърите постепенно ограничиха или промениха това поведение — в някои браузъри backspace вече не води назад, докато фокусът е върху елемент за въвеждане; други показват предупреждение или изискват модификаторен клавиш (например Alt+←).

Специфични приложения и mainframe среда

В мейнфрейм среда терминологичното backspace понякога означава връщане на магнитната лента назад, обикновено до предишния блок. В текстообработващи програми, редактори и IDE-та backspace е един от основните методи за коригиране на грешки; много съвременни редактори предоставят undо/redo възможности, за да се избегне непоправима загуба на текст при случайно натискане.

Практически съвети и проблеми

  • Малко случайни натискания на backspace в уеб форма могат да доведат до загуба на целия въвеждан текст (ако браузърът го интерпретира като "назад"). За да се избегне това: запазвайте чернови, използвайте автосъхранение или редактирайте в отделен текстов редактор преди поставяне.
  • За бързо изтриване на цели думи използвайте клавишни комбинации (напр. Ctrl+Backspace в много среди изтрива предишната дума).
  • При проблеми с поведението на backspace в терминал — проверете настройките на терминала (stty erase) и кой контролен код е асоцииран (BS или DEL).

Обобщение

Клавишът backspace е прост, но ключов инструмент за корекция при въвеждане на текст. Неговата роля е еволюирала от механичното отместване на каретата в пишещата машина до контролните кодове в терминалите и сложните поведения в модерните графични среди. Въпреки технологичните промени, основната му функция — изтриване на символа вляво от курсора — остава непроменена.

Въпреки че терминът "backspace" е стандартът за наименование на клавиша, на практика етикетите на самия клавиш могат да варират (напр. delete, Erase или лява стрелка), в зависимост от производителя и платформата.