Я выделил текст с помощью клавиатуры, начиная с нижней строки и двигаясь вверх ( символ | обозначает позицию курсора):
AAA | {BBB CCC
DDD} EEE FFF
Теперь я хотел бы изменить выделение так, чтобы оно начиналось в конце первой строки , т.е. чтобы оно выглядело так:
Ожидаемый результат:
AAA BBB CCC | {
DDD} EEE FFF
Я могу уменьшить выделение слов ⌥ ⇧ →:
Но естественный способ сделать это ⌘ ⇧ →- прыгнуть прямо в конец первой строки. Во многих приличных текстовых редакторах это прекрасно работает (например, Sublime Text 2). Они также сохраняют |
положение видимым, когда текст выбран между прочим.
Однако поведение приложений OSX по умолчанию заключается в том, что они игнорируют тот факт, что курсор находится в начале выделения, а перемещение его вправо должно удалить выделение. Вместо этого ⌘ ⇧→всегда расширяет выделение от его конца до конца строки, независимо от того, где находится курсор в данный момент:
Фактический результат:
AAA {BBB CCC
DDD EEE FFF} |
Есть ли способ заставить нативные OSX-приложения вести себя ожидаемым образом?
Я на OSX Yosemite 10.10.2, но я думаю, что эта проблема была там, пока я себя помню.
select text between the insertion point and the end of the current line
. Единственная строка в вашем примере, где выделение еще не включает конец строки , это последняя строка. Таким образом, ожидаемое поведение в OS X - расширять выбор оттуда, а не сокращать его в начале строки! Я знаю, что некоторые редакторы ведут себя по-другому, но делают это неправильно, а не система!
(*)
значит?
(*)
значит, но, вероятно, это осталось от предыдущих версий документации. Я немного обновил свой ответ, включив в него только глобальную привязку клавиш, но, к сожалению, я почти уверен, что нет способа добиться того, что вы ищете. Так как поведение не является встроенным, приложения не будут теперь, как справиться с этим, даже если вы можете вызвать его.