Я трачу очень много времени на редактирование текста в Xcode, и я хотел бы маневрировать вокруг текста в остальной части текстовой системы Cocoa, чтобы предложить идентичный опыт. Есть 3 версии сочетаний клавиш курсора, которые я регулярно использую в Xcode (для краткости показаны только прямые версии без изменения выбора):
Привязки клавиш OS X по умолчанию учитывают 2 и 3, но есть несоответствие с 1. Вне Xcode ⌃+ →ведет себя как ⌘ Command+ →. Ужасно часто это не применимо, но каждый раз, когда ⌃+ →переводит меня в конец строки в Mail или что-то в этом роде, в моем мозгу словно взрывается маленькая фейерверк. Меня просто раздражает то, что я готов инвестировать в любой хакерский прием, чтобы «исправить» поведение раз и навсегда.
Чтобы не зацикливаться на старой теме, я уже знаю об этом небольшом кусочке и этом списке селекторов , но я не знаю ни одного API в Cocoa Text System для выбора подслов. Может быть, где-то есть недокументированный API?
Я не всегда пытаюсь сделать выбор в camelCase вне Xcode с помощью сочетаний клавиш, но когда я это делаю, я хочу, чтобы OS X подчинялась.
Извините, но то, что вы хотите, невозможно.
Вы можете попробовать добавить сочетания клавиш XCode, которые делают это
"^\UF702" = "moveSubWordBackward:"; /* Ctl-Left Arrow */
"^$\UF702" = "moveSubWordBackwardAndModifySelection:"; /* Ctl-Shift-Left Arrow */
"^\UF703" = "moveSubWordForward:"; /* Ctl-Right Arrow */
"^$\UF703" = "moveSubWordForwardAndModifySelection:"; /* Ctl-Shift-Right Arrow */
"^\177" = "deleteSubWordBackward:"; /* ctl-delete */
"^\UF728" = "deleteSubWordForward:"; /* ctl-forwardDelete */
в ваш ~/Library/KeyBindings/DefaultKeyBindings.dict
файл, но если приложение не написано для ответа на эти методы, оно не будет работать. Как вы сказали, эти методы не являются частью стандартной текстовой системы, поэтому эти вызовы в приложении просто останутся без ответа или вы получите системный звуковой сигнал.
Чтобы перейти к верблюжьему регистру (также известному как подслова) к правильному использованию
^+ [чтобы переместить подслово влево
^+ ]чтобы переместить подслово вправо
Я подтвердил это в OSX 10.10.1 с Xcode 6.1.1.
КузенКокаин
Мэтт Уайлдинг
КузенКокаин
Даниил Пронин