Вырезать, копировать, вставить

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Команды буфера обмена в контекстном меню

Вырезать, копировать, вставить (англ. cut, copy, paste) — набор функций для работы приложений с буфером обмена операционной системы. Чаще всего данные функции доступны посредством контекстного меню интерфейса программы, клавиш быстрого доступа и при помощи манипуляций курсором мыши. Копировать и перемещать можно файлы и части объектов (текста, изображения, звука и т. д.). С точки зрения пользователя, реализуется тремя функциями:

  • Вырезать (англ. cut) — помещает выделенный фрагмент в буфер обмена, и одновременно удаляет его из документа.
  • Копировать (англ. copy) — помещает фрагмент в буфер обмена, оставляя документ без изменений.
  • Вставить (англ. paste) — вставляет в текущий документ фрагмент, находящийся в буфере обмена.

Действие второй из команд — «копировать» — как правило, визуально незаметно.

Время, требуемое на операцию, зависит от размера фрагмента. Удаление обычно происходит значительно быстрее копирования и вставки.

История

Планшет-блокнот (англ. clipboard) — канцелярский предмет, в честь которого буфер обмена получил английское название и пиктограмму.

Английские слова cut («вырезать») и paste («вклеить») намекают на технологию докомпьютерного редактирования рукописей — вырезание ножницами и вклеивание в другое место. Для редакторов выпускались особо длинные ножницы, по ширине листа бумаги. Если в распоряжении редактора есть ещё и копир, арсенал приёмов редактирования расширяется.

Перфокарты можно было свободно перемешивать, убирать ненужные и вкладывать недостающие. С перфолентами этот трюк не проходит, хотя в ПО часто реализовывались команды для забоя и исправления опечаток. Так что перфокарты и перфоленты были в разных «экологических нишах»: первые — пользовательский интерфейс, вторые — средство постоянной памяти.

Следующей ступенью компьютерных интерфейсов стали буквопечатающие терминалы. Текстовые редакторы того времени могли копировать и перемещать текст: иногда командами наподобие cp и mv, иногда через буфер обмена. Один из распространённых редакторов, QED, пошёл вторым путём[1].

То же самое продолжалось вплоть до 80-х годов, когда терминалы давно уже стали видеодисплейными. Одни редакторы пользовались командами «Копировать блок» и «Переместить блок» (например, Ctrl+KC и Ctrl+KV в Turbo Pascal), другие — командами «Копировать в карман» и «Вставить из кармана» (именно так, «карманом», назывался буфер обмена в большинстве русского ПО и документации конца 80-х годов). На сторону второго подхода перешёл Xerox PARC, за ним Apple Lisa: в этом подходе выделенный блок — лишь особая форма курсора, и для пользователя нет разницы между командами «удалить символ» и «удалить блок». В компьютере Apple Lisa введено четыре клавиши, ставшие стандартом:

  • Ctrl+Z — отменить.
  • Ctrl+X — вырезать.
  • Ctrl+C — копировать.
  • Ctrl+V — вставить.

Придумал их программист Ларри Теслер; в 1980 году изобретателя переманил в Apple Стив Джобс, выпустив первые персональные компьютеры с функциями Теслера[2].

Эти команды органично вписались в многозадачный интерфейс: часто пользователь вырезает из одной программы, а вставляет в другой. Заодно в Apple Lisa чисто компьютерным объектам дали названия из конторской жизни; так, буфер обмена, ранее именовавшийся buffer[1], получил название «планшет-блокнот» (англ. clipboard).

Стандарт IBM Common User Access использовал другие клавиши: ⇧ Shift+Del, Ctrl+Ins, ⇧ Shift+Ins. Впоследствии эти клавиши вошли и в OS/2, и в Microsoft Windows.

Вырезание без удаления

Иногда (например, в файловых менеджерах, электронных таблицах) по команде «Вырезать» ничего не происходит (при этом в буфер обмена записывается команда: пользователь вырезал что-либо). Реальное перемещение происходит по команде «Вставить».

Культурное влияние

Ctrl-C, Ctrl-V

С распространением компьютеров пользователи часто стали составлять тексты, механически комбинируя цитаты из одного или нескольких источников, иногда даже без редактирования. Получающийся текст обычно содержит в себе логические скачки и провалы на границах цитат, и, как следствие, малоинтересен и нелогичен (исключение — если текст был копирован целиком). Такой метод презрительно называется «копипаст», «копипаста» или «копипейст» (процесс — копипастинг).

Также копипастой иногда называют копирование на форумы, конференции, имиджборды, в блог текста с других сайтов в больших объёмах. Правилом хорошего тона является указание ссылки на источник информации, а также отказ от «промышления копипастами» в пользу информативных ссылок. Тем не менее, блогеры предпочитают копию ссылке, ведь последние часто становятся недействующими: ресурс либо исчезает, либо реструктурируется, а перенаправления проставляются не всегда. Копипаст часто используется для троллинга, в этом случае негласные правила обычно нарушаются.

Для последователей Миссионерской церкви копимизма изображения «Ctrl+C, Ctrl+V» являются религиозными символами[3].

Программирование методом копирования-вставки считается распространённой, но ненадёжной манерой программирования.

Примечания

Литература