Перейти к началу текста в Xcode - PullRequest
43 голосов
/ 09 марта 2011

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

Что мне нужно, так это перейти к началу текста в строке, чтобы:

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

нажатие клавиши переместит курсор в начало слова «просмотр» в этом примере (char | является курсором).

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

Ответы [ 9 ]

44 голосов
/ 27 ноября 2011

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

https://github.com/insanehunter/XCode4_beginning_of_line

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

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

8 голосов
/ 19 апреля 2016

Начиная с 7.3 (не уверен, когда он был добавлен), Xcode, кажется, включил это по умолчанию.Cmd-left на панели настроек Key Bindings теперь привязан к «Move to Beginning of Text».

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

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

8 голосов
/ 09 марта 2011

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

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

6 голосов
/ 14 января 2016

Я использую 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 голосов
/ 10 декабря 2015

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

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

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

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

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

2 голосов
/ 29 мая 2011

У меня нет точного решения, только одно небольшое улучшение для Xcode 4. Вы можете настроить раскладку клавиатуры для «Переместить выражение влево» (prefs Xcode> Назначения клавиш), что немного больше, чем Opt ←:

s = [NSString string] |

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

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

1 голос
/ 02 января 2019

Проверено на XCode 10:

Шаг 1: Открыть файл, расположенный по следующему пути, с помощью текстового редактора

 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist

Добавить следующие элементы в конец файла:

<key>Sublime Commands</key>
<dict>
    <key>Cut Current Line</key>
    <string>selectLine:, cut:</string>
    <key>Copy Current Line</key>
    <string>selectLine:, copy:</string>
    <key>Duplicate Current Line</key>
    <string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
    <key>Delete Current Line</key>
    <string>selectLine:, deleteToEndOfLine:, moveToEndOfLine:</string>
    <key>Move To First Char In Line</key>
    <string>moveToBeginningOfLine:, moveSubWordForward:, moveSubWordBackward:</string>
</dict>

Предыдущий последний ключ ' Перейти к первому символу в строке ' выполнит ваш запрос, но я упоминал и другие ключи.

Теперь сохраните файл.

Шаг 2: Закройте XCode и снова откройте его.

Шаг 3: Перейдите к привязке клавиш в настройках xcode и назначьте ярлык.

XCode -> Настройки -> Привязки клавиш Затем найдите « Перейти к первому символу в строке » и назначьте свой ярлык.

enter image description here

0 голосов
/ 13 октября 2017

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

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

0 голосов
/ 07 марта 2016

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...