Интерфейсный нюанс: якорь выделения и анду

У выделенного текста есть не только начало и конец, но и якорь: то, с какой стороны я начал выделять. Это нигде не отображается, но операционная система его устанавливает и учитывает.

Если вы выделите текст движением слева направо, у выделения будет якорь слева. Дальнейшие хождения стрелками с зажатым Шифтом будут влиять на правый конец текста, а левый вы никак не измените. И наоборот, если вы выделите текст движением справа налево, то якорь встанет справа, и Шифт-стрелками вы уже будете изменять положение левого края выделения. Это работает, даже если изначально выделить текст мышкой — попробуйте сами. Если просто выделить даблкликом, якорь будет слева.

На старых версиях Макоса якоря хреново работали в списках. Скажем, если в Файндере ткнуть в файл, а потом Шифт-ткнуть в файл, находящийся выше по списку, то после этого Шифт-стрелки всё равно изменяли нижний конец выделенного диапазона файлов, а не верхний. Это ужасно бесило. Потом починили и стало работать по-людски. В тексте, сколько помню, работало правильно.

Но и в тексте на Маке до сих пор есть глюк: анду всегда сбрасывает якорь на левый. По крайней мере, в Мохаве. Выделите какой-нибудь текст справа налево, попробуйте поизменять выделение Шифт-стрелками — всё будет работать нормально, будет меняться левый край. Потом удалите текст и верните через ⌘Z. Теперь Шифт-стрелки изменяют правый край выделения! Какого чёрта, Эпл?

Принято восхвалять Эпл за их внимание к деталям, но такой мелкой интерфейсной неряшливости у них полно, и всегда было полно. Кстати, о существовании у выделения якорей я не задумывался, пока пользовался Виндой, потому что там это всегда работало безупречно.

См. ещё про выделение текста:

Дальше
5 комментариев
Томатный Супчик 2020

Это ладно. С первого дня пользования Маком и до сих жутко бесит, что двигаясь с альтом через жесткий перенос строки, курсор прыгает не в начало следующей или конец предыдущей строки, а через одно слово с краю.

Guest 2020

Самое гениальное выделение было в старых версиях Mathematica. У него вообще не было якоря, так что нельзя было развыделить один символ, только всё выделение целиком. Shift+влево двигал левый край на один символ влево, а Shift+вправо двигал правый край на один символ вправо.

Иван Бессарабов 2020

Если просто выделить даблкликом, якорь будет слева.

Разве? Вот я выделил одно слово на в этом тексте даблкликом. И, как я вижу, «якорь» зависит от того какую курсорную стрелку я нажал первой.

  • Даблклик, а потом shift+← — двигается левая граница (даже если потом нажимать shift+→ )
  • Даблклик, а потом shift+→ — после этого с клавиатуры можешь управлять только правой границей выделения
Илья Бирман 2020

Да, чё-то это срабатывает где как.

Konstantin Baryshnikov 2020

А у меня в Мохаве (10.14.6) все нормально работает. Удивился прочитанному (такую лажу я бы точно заметил), проверил в TextEdit, Safari и Chrome. Выделил шифт-стрелками справа налево (можно сначала выделить мышкой, а потом сделать шифт-влево, это ничего не меняет), удалил, ⌘Z, Shift-стрелки продолжают управлять левым краем выделения.

По даблклику поведение такое же, как описал Иван — впрочем, не только по даблклику, но и с простым выделением мышкой: положения якоря не определено до первого нажатия шифт-стрелки.

Может, это не Макось глючит, а какие-нибудь расширения-плагины?

Konstantin Baryshnikov 2020

Экспериментируя, словил другое. Если выделять текст методом «кликнуть, и потом кликнуть в другом месте с шифтом», то якорь тоже не определен, пока не нажму shift-стрелку. Кажется, логичнее бы было в этом случае определять якорь по положению первого клика. Впрочем, судя по тому, что неудобств, связанных с таким поведением, я не испытывал за все 14 лет работы на Маке, и узнал о нем только сейчас, целенаправленно экспериментируя, — это вряд ли серьезная проблема.

Мои книги