Копирование текста в компьютерных системах¶
Копирование текста — операция в компьютерных интерфейсах, при которой фрагмент текста дублируется в системный буфер обмена без удаления источника, после чего его можно вставить в другое место или приложение. В отличие от операции «вырезать», копирование не изменяет исходный документ. Механизм является частью модели «буфер обмена» (clipboard), реализованной практически во всех современных операционных системах и текстовых редакторах.
¶Буфер обмена
Буфер обмена — служебная область памяти операционной системы, предназначенная для временного хранения данных, передаваемых между программами. При копировании текста он помещается в буфер в одном или нескольких форматах: как обычный текст (plain text), а также с сохранением разметки (HTML, RTF и др.). Это позволяет программе-получателю выбрать подходящий вариант.
Буфер обмена хранит только последний скопированный фрагмент — новая операция копирования замещает предыдущее содержимое. В некоторых системах и приложениях предусмотрены расширенные менеджеры буфера, сохраняющие историю копирований (например, встроенный Clipboard в Windows 11, программные менеджеры вроде CopyQ, Ditto, ClipboardFusion).
¶Стандартные способы копирования
¶Горячие клавиши
Основной и наиболее универсальный способ — сочетание клавиш:
| Операция | Windows, Linux | macOS |
|---|---|---|
| Копировать | Ctrl + C | ⌘ Command + C |
| Вырезать | Ctrl + X | ⌘ Command + X |
| Вставить | Ctrl + V | ⌘ Command + V |
| Выделить всё | Ctrl + A | ⌘ Command + A |
Перед копированием необходимо выделить нужный фрагмент мышью, клавишами Shift + стрелки или командой «Выделить всё». На мобильных устройствах с Android и iOS копирование выполняется долгим нажатием на текст с последующим выбором диапазона и команды «Копировать» в контекстном меню.
¶Контекстное меню
Правый щелчок по выделенному тексту (или долгое нажатие на сенсорном экране) открывает контекстное меню с пунктами «Копировать», «Вырезать», «Вставить». Этот способ не требует запоминания сочетаний клавиш и работает в большинстве графических интерфейсов.
¶Меню приложения
Команды копирования традиционно расположены в меню «Правка» (Edit) практически любого текстового редактора, браузера или офисного приложения. Там же обычно присутствуют варианты «Копировать как текст», «Копировать форматирование» и подобные.
¶Особенности работы в разных средах
¶Текстовые редакторы и офисные программы
В Microsoft Word, LibreOffice Writer и подобных редакторах при вставке доступен выбор формата: сохранить исходное форматирование, вставить как неотформатированный текст или как изображение. В Google Docs и других онлайн-редакторах копирование работает по стандартному принципу, но буфер обмена может быть ограничен политикой безопасности браузера.
¶Терминал и командные строки
В текстовых консолях копирование выполняется иначе: в большинстве эмуляторов терминала (Windows Terminal, GNOME Terminal, Konsole) фрагмент выделяется мышью и автоматически попадает в буфер, а вставка выполняется сочетанием Ctrl + Shift + V или правой кнопкой мыши. В tmux и screen используются собственные режимы буфера.
¶Браузеры
Веб-браузеры ограничивают доступ к буферу обмена по соображениям безопасности: страница не может прочитать его содержимое без явного разрешения пользователя (Clipboard API). Копирование текста со страницы работает стандартно, но автоматическое считывание буфера веб-страницей блокируется.
¶Мобильные устройства
На Android и iOS копирование реализовано через системный буфер обмена. С iOS 14 и Android 13 появились уведомления о том, какое приложение читает буфер, что повышает прозрачность операции. Между устройствами одной экосистемы (например, iPhone и Mac, телефоны Samsung и Windows-ПК) доступна синхронизация буфера обмена.
¶Ограничения и специфика
Копирование защищённого DRM-контента, а также текста, который сайты намеренно блокируют через обработчики событий, может быть ограничено. В PDF-документах копирование текста зависит от того, содержит ли файл текстовый слой или является сканом изображения — во втором случае требуется распознавание текста (OCR).
При копировании между приложениями с разной кодировкой или на разных платформах возможны искажения специальных символов и переносов строк.
¶Историческая справка
Идея буфера обмена и операций «копировать — вставить» была предложена Ларри Теслером в 1970-е годы в исследовательском центре Xerox PARC и впервые реализована в графической среде Xerox Star. Сочетание Ctrl + C ввёл Тим Томасон для текстового редактора WordStar в 1985 году, позднее оно стало стандартом де-факто.
¶Источники
- Microsoft Support. Копирование, вставка и другие способы выделения текста
- Apple Support. Использование буфера обмена на Mac
- Документация GNOME и KDE по работе с буфером обмена
- W3C Clipboard API and events specification
