Подтвердить что ты не робот

Переместить в начало текста в Xcode

Я знаю, что могу привязывать ключи к "Переместить в начало строки", но это игнорирует отступ.

Я ищу, чтобы перейти к началу текста в строке, чтобы:

CGRect example = CGRectMake(view.frame.origin.x,
                            view.frame.origin.y,|

нажатие клавиши переместит курсор к началу слова "вид" в этом примере (char | - это курсор).

Очень обидно, что в настоящее время я должен нажать 3 команды, чтобы добраться до начала текста, когда внутри кодового блока (cmd <-, opt ->, opt <-).

4b9b3361

Ответ 1

Нет стандартного способа выполнить его в XCode, поэтому я написал плагин XCode, реализующий эту функцию:

https://github.com/insanehunter/XCode4_beginning_of_line

Под капотом он переопределяет метод рассылки клавиатуры редактора XCode и реализует расширенные способы начала/окончания линейных скачков.

Надеюсь, что это помогло.

Ответ 2

Используйте option + для перехода по целым словам.

(Это означает, что удерживайте option, нажимая клавишу со стрелкой влево)

Ответ 3

Я использую Xcode 7.2 и смог сделать свой собственный макрос для автоматизации этих 3 команд, упомянутых выше (cmd <-, opt ->, opt <-). Вы можете отредактировать файл IDETextKeyBindingSet.plist, который определяет все привязки клавиш, чтобы добавить свои собственные.

Шахта находилась в /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

Добавьте следующее, чтобы создать свой собственный макрос

<key>Custom Keys</key>
<dict>
    <key>Move to non-whitespace beginning of line</key>
    <string>moveToBeginningOfLine:, moveSubWordForward:, moveSubWordBackward:</string>
</dict>

Перезапустите xcode и на вкладке "Предпочтения" > "Вкладки клавиш", найдите свой собственный макрос и установите его на cmd <-. Теперь он будет запускать эти 3 команды и эффективно перемещает ваш курсор в начало текста в строке.

Ответ 4

Фактически, есть более быстрый и простой способ добиться этого, поскольку Mac OS достаточно хорошо поддерживает некоторые сочетания клавиш Emacs (или Unix).

Вы можете использовать Ctrl-a для перехода к началу строки.. Это означает, что удерживайте клавишу "Ctrl" и нажмите "a" на клавиатуре.

Для получения дополнительной информации также удобно использовать Ctrl-e: перейти в конец строки
Ctrl-n: переход к следующей строке
Ctrl-p: переход к предыдущей строке

Что еще, эти быстрые клавиши могут использоваться в текстовых и текстовых полях, таких как редактор ответов StackOverflow в Mac OS.

Надеюсь, что это поможет.

Ответ 5

Начиная с версии 7.3 (не уверен, когда он был добавлен), Xcode, похоже, по умолчанию включил это. Cmd-left в панели предпочтений привязки клавиш теперь привязан к "Перейти к началу текста".

Лично это меня задевает, поэтому я поменял его на "Move to Beginning of Line". Но для людей, которые хотят этого поведения, хорошо знать, что теперь есть встроенный способ его получения.

Если вы скопировали свой набор привязок клавиш, возможно, вы еще не видите новое поведение. Если нет, просто найдите "начало" в настройках привязки клавиш и настройте их по своему вкусу.

Ответ 6

У меня нет точного решения, просто небольшое улучшение для Xcode 4. Вы можете настроить сопоставление клавиатуры для "Move Expression Left" (предварительные приставки Xcode > Key Bindings), что немного больше, чем Opt ←:

s = [NSString string] |

если | это позиция курсора, нажатие клавиши "Move Expression Left" приведет к началу выражения слева от него, поэтому в этом случае перед "[NSString". Опция ← будет перемещаться только до "строки".

(Боковое примечание: я вижу команду действия под названием "Переместить в левый конец строки", а другой - "Переместить в начало строки". По моему опыту, они выполняют точно такое же поведение в Xcode 4.0.2: это выглядит как ошибка, если я что-то не хватает.)

Ответ 7

Кажется, что самый простой способ, как уже упоминалось,

1) Перейдите к началу строки (Cmd + клавиша со стрелкой влево)

2) Переход к правильному слову (клавиша Alt + стрелка вправо)

3) Переход к левому слову (клавиша Alt + стрелка влево)

К сожалению (Alt + клавиша со стрелкой влево) и (Alt + стрелка вправо) игнорирует комментарии, скобки и т.д., поэтому метод выше не всегда будет работать. Если это не проблема, тогда есть также одно решение для пользователей BetterTouchTool. Можно создать последовательность действий (команд), которые будут вызываться один за другим и назначать ее кнопке "Домой". Для этого откройте настройки, перейдите на вкладку "Клавиатура", "Добавить новый ярлык" и назначьте кнопку "Домой" (клавиша со стрелкой "Cmd +" ). Затем нажмите "Присвоить дополнительные действия дважды", сначала для клавиши (Alt + стрелка вправо), а вторая для клавиш клавиш (Alt + стрелка влево).

Надеюсь, это поможет.

Ответ 8

В этом расширении Xcode Linex функция Line Beginning может перейти к первому символу без пробелов в строке, а также переключиться между этим и реальным началом.

Работает для Xcode 9, возможно, Xcode 8.