Про Ctrl+X, Mac OS X и логику

Поскольку многие выражают обеспокоенность в связи с отсутствием в Mac OS X  функции “Вырезать” (Ctrl/Cmd+X) в Finder, я решил написать этот пост.

Для начала хочу отметить, что для “скучающих по Windows” давным-давно изобрели Total Finder, представляющий собой не какое-то отдельное приложение, а надстройку над Finder. Т.е. ваш “обычный” Finder становится TotalFinder, в котором, среди прочего, есть и Cmd+X. (Кнопка Cmd в OS X заменяет Ctrl по функциям).

Но вообще, на самом деле “вырезать” файлы по Ctrl+X, как это делает “Проводник” Windows – не логично. Да, это привычно, но только потому, что практически все работали Windows и эта ОС так нас научила. Но OS X придерживается логики, а не привычки (тем более – зачем ей повторять привычки Windows?), а логике эта операция противоречит.

Что означает Ctrl+X во всех программах, кроме проводника? Это именно операция “Вырезать”, которая полностью соответствует и глаголу “вырезать” в русском языке и глаголу “to cut” в английском. То есть, некая информация (выделенная) удаляется из того места, где она была, и становится некой отдельной сущностью. К примеру, когда вы вырезаете снежинку из листа бумаги – что происходит? Снежинка остаётся у вас в руке, а лист бумаги, лишённый контуров снежинки, падает на стол. В компьютере же вырезанная информация помещается в буфер обмена. Это работает везде: в текстовых редакторах, графических редакторах, видеоредакторах, аудиоредакторах – и везде это работает одинаково. Вы выделяете текст или область картинки, нажимаете Ctrl+X – вуаля, выделенная часть текста или картинки пропала. Во многом Ctrl+X схожа с простым удалением, только с сохранением в специальном месте (буфере обмена) удалённой информации. И, кстати, в тех же программах, как правило, есть отдельная операция – перенести, как правило, выполняющаяся мышкой (поэтому и в Finder по умолчанию перенос файлов мышкой – это именно перемещение, а не копирование).

Что же делает “Проводник”? Удаляет ли он файл из старого места, когда вы нажимаете Ctrl+X? Нет. Он вообще ничего не удаляет, ибо операция переноса файла в файловой системе совсем не обязательно идентична операции удаления и записи, особенно если речь об одном логическом диске. В реальности, “Проводник” не выполняет операцию “Вырезать”, он лишь выполняет операцию “Перенести”. А это совсем-совсем другое. Операция “Перенести” не задействует буфер обмена и ничего там не оставляет. Если у вас установлена какая-то утилита, работающая с буфером обмена, то она ничего не сделает с “перенесённой” информацией.

Поэтому и в OS X в Finder операция “Перенести” вызывается другим сочетанием клавиш. Вместо Cmd+V (вставка скопированной информации) можно выполнить Cmd+Alt+V. И файл будет перенесён из старого места в новое.

Короче говоря, Ctrl+X в любой программе Windows и Ctrl+X в “Проводнике” – совершенно разные операции по своей сути. И это недоразумение, что они выполняются одной кнопкой. Впрочем, за логикой создатели Windows всегда не шибко следили.

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс