Сочетания клавиш выбора Mimic XCode camelCase в OS X

25

Я трачу очень много времени на редактирование текста в Xcode, и я хотел бы, чтобы маневрирование вокруг текста в остальной части текстовой системы Какао предлагало идентичный опыт. Существуют 3 версии сочетаний клавиш курсора, которые я регулярно использую в XCode (для краткости показаны только прямые версии, не изменяющие выбор):

  1. + Переместить курсор на 1 подслово вперед (^ camelCase -> верблюд ^ Case -> camelCase ^)
  2. ⌥ Option+ Переместить курсор на 1 слово вперед
  3. ⌘ Command+ Переместить курсор в конец строки

Связи клавиш по умолчанию OS X относятся к 2 и 3, но есть несоответствие с 1. За пределами XCode + ведет себя как ⌘ Command+ . Это не очень часто применяется, но каждый раз + приводит меня к концу строки в Mail или что-то в этом роде, как будто в моем мозгу вспыхивает маленький фейерверк. Просто досадно, что я готов вложить деньги в любую хакерскую работу, чтобы "исправить" поведение раз и навсегда.

Чтобы не закрывать старые позиции, я уже знаю об этом небольшом лакомом кусочке и этом списке селекторов , но я не знаю ни одного API в текстовой системе Какао для выбора подслов. Может быть, там есть недокументированный API?


Я не всегда пытаюсь сделать выбор CamelCase вне XCode с помощью сочетаний клавиш, но когда я это делаю, я хочу, чтобы OS X подчинялась.

Мэтт Уилдинг
источник
2
На моем Mac ⌃ → переключает пробелы по умолчанию, и он не ведет себя как ⌘ →
CousinCocaine
2
Это предполагает, что вы отключили этот ярлык в Системных настройках.
Мэтт Уилдинг
Нет. На OS X (Mavericks) поведение по умолчанию ⌃ → переключает пробелы. osxdaily.com/2011/09/06/…
кузен Кокаин
Хочу этого тоже. Я думаю, что может быть внешний инструмент, такой как Яндекс PuntoSwitcher, для манипулирования курсором ввода в любом текстовом поле.
Даниил Пронин

Ответы:

2

Извините, но то, что вы хотите, не возможно.

Вы можете попробовать добавить сочетания клавиш 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файл, но если приложение не написано, чтобы ответить на эти методы, оно не будет работать. Как вы сказали, эти методы не являются частью стандартной текстовой системы, поэтому эти вызовы в приложении просто останутся без ответа, или вы получите системный звуковой сигнал.

Бессонница программного обеспечения
источник
0

Для навигации по верблюжьему делу (подсловами) к правильному использованию

^+ [переместить подслово влево

^+ ]переместить подслово вправо

Я подтвердил это в OSX 10.10.1 под управлением Xcode 6.1.1.

SaxDaddy
источник
Я думаю, что суть этого вопроса состоит в том, чтобы получить команды подслов Xcode вне этого одного приложения и для остальных стандартных приложений.
bmike
@bmike, возможно это так. Если это так, то, вероятно, придется кодировать это, потому что эта функция присуща Xcode, а не ОС. Но можно было бы надеяться, что пользователь Xcode узнает об этом.
SaxDaddy