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


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

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

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

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

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

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