Как создать комбинацию клавиш Delete-Line в Xcode 8? Решения Xcode 3 больше не работают
в предыдущих версиях Xcode можно было создать привязку ключа для удаления текущей строки. Были разные решения и они описаны, например, здесь:
Xcode: удалить горячую клавишу линии
в Xcode дублировать/удалить линия
http://bigdiver.wordpress.com/2009/09/11/configure-homeend-key-bidings-on-mac-os-x/
http://www.betadesigns.co.uk/Blog/2010/02/03/custom-xcode-shortcuts/
все решения включают в себя изменение одного из этих файлов:
~ / Библиотека / Поддержка Приложений / Xcode / Привязки Клавиш/*.pbxkeys
~ / Library/KeyBindings / DefaultKeyBinding.дикт
~ / Library / KeyBindings / PBKeyBinding.дикт
хороший ресурс для существующих ярлыков в Xcode 4 is http://cocoasamurai.blogspot.com/2011/03/xcode-4-keyboard-shortcuts-now.html . Есть много перечисленных в отношении удаления, но ни один для "удалить строку".
но, эти решения не работы с Xcode 4.
обновление:
Вопрос все тот же Xcode 5.1.1
обновление:
Вопрос по-прежнему тот же, что и Xcode 6.1 GM Seed 2
обновление:
По-прежнему применяется к Xcode версии 7.3 (7D175) по состоянию на 26 апреля 2016 года
обновление:
Шесть лет спустя Xcode 8.3 имеет встроенное решение. См. ответ ниже.
13 ответов:
после долгих поисков здесь и там, я пришел к следующему решению:
нажмите и удерживайте управления ключ, а затем нажмите клавишу AKK.
(Примечание: второй K удаляет пустые строки).
на самом деле это комбинация из двух команд:
Move to Beginning of Paragraph&Delete to End of Paragraph. Вы также можете использовать / установить другие ключи, а также использовать/установить / изменить привязки клавиш для других команд, напримерMove to Beginning of Line&Delete to End of Line. Я выше (по умолчанию) привязки клавиш, как они мне подходят.Edit:
чтобы удалить более одного подряд строки, сначала нажмите и удерживайте управления ключ, а затем нажмите клавишуA (просто вернитесь к началу абзаца/строки), затем нажмите и удерживайте K пока все строки не будут удалены (это будет работать, как курсор остается в начале).
просто чтобы облегчить задачу (для меня), я поставил командаD на
Delete to End of Paragraphи дома/конец перейти к началу / концу абзаца.
понял! Это работает в XCode 4.3 - 4.5 и не требует дополнительных приложений и является специфичным для XCode.
это решение в основном совпадает с описанной командой дубликата строки здесь:
редактировать файл plist
это в /Applications / Xcode.приложение/содержание/фреймворки / IDEKit.framework/Resources / IDETextKeyBindingSet.файл plist
внимание:
- связанный ответ предлагает использовать XCode для этого, но Я считаю, что это сбой XCode
- этот путь для Lion-он может отличаться для других версий ОС
- возможно, вам придется sudo или изменить разрешения для редактирования этого файла
- закройте XCode перед редактированием
Добавить новый
<dict>элементдобавить этот текст чуть выше закрытия
<dict>в нижней части этого файла<key>Custom</key> <dict> <key>Delete Current Line In One Hit</key> <string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string> </dict>внимание:
- это внутри существующий
<dict>так и есть</dict></plist>после этого- это связывает именованное действие "удалить текущую строку одним ударом" с тремя ключевыми действиями в строке. Я играл с различными вариантами здесь, чтобы получить правильную комбинацию. Например, если вы попробуете moveToBeginningOfLine, deleteToEndOfLine вместо наоборот, то использование его на пустых строках удалит строку и вся следующая строка. Что неприятно
сохраните это и откройте XCode
добавить новую привязку ключа в XCode
смотрите скриншоты для этого в связан ответа или такой:
- Открыть Настройки XCode
- Выберите Клавиш
- нажмите на все
- в поле поиска введите " удалить "и найдите" удалить текущую строку одним ударом"
- добавить новую привязку.
Это должно сделать это, но один нюанс. Я никогда не мог получить XCode сохранить новая привязка. Та же проблема описана здесь хотя мой обходной путь имел небольшое изменение:
- создайте дубликат Привязок по умолчанию (нажмите кнопку + в левом нижнем углу окна привязки и создайте дубликат)
- Установите новую привязку в дубликате
- закройте диалоговое окно предпочтений (это вариант!)
- снова откройте Настройки и сделайте новый дубликат старого дублируйте и удалите старый дубликат.
что за чушь, а? Но это работает. Теперь у меня есть Ctrl+D, чтобы удалить всю текущую строку в XCode 4.3 на Lion.
Я нашел временное решение для Xcode 9.
открыть Xcode / Content / Framework / IDEKit.framework/Resources / IDETextKeyBindingSet.файл plist и добавить строки ниже.
он имитирует действие, которое происходит в Xcode 8 с ограниченной поддержкой. Он может удалить только одну строку, но я как-то доволен. Я надеюсь, что это будет исправлено в ближайшее время.
<key>Customized</key> <dict> <key>Delete Line</key> <string>moveToBeginningOfLine:, deleteToEndOfLine:, moveDown:, deleteBackward:</string> </dict>после перезагрузки Xcode, вы можете увидеть настраиваемый элемент в
Key Bindings, как показано ниже.связать и использовать его!
изменить) Я думаю, что одной лучше, чем оригинал.
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
Я использую BetterTouchTool, это круто:
ревеняответ правильный и работает, но одна вещь, есть более простая команда в файле plist. Следуйте всем инструкциям ревеня'S, но
вместо
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>использовать ниже
<string>selectLine:, delete:</string>это более ясно и отбросить любую возможность неисправности.
Я хочу написать это как комментарий, но моя "репутация" не позволяет мне этого сделать.
Если вы являетесь пользователем клавиатуры Maestro, просто создайте макрос, который делает следующее:
Стрелка Влево
- Shift Стрелка Вниз
- удалить
Я назначил его команде-D и сделал его доступным только в Xcode.
похоже, что XCode теперь использует файл plist против файла dict, и новый формат не поддерживает добавление нескольких команд в привязку ключей. Также не существует способа добавить пользовательские команды для привязки к любому из них. Единственный способ, которым я нашел, чтобы что-то работало, - это установить привязку ключа для отдельных действий, таких как
^DнаdeleteToEndOfLine:, потом^LнаmoveToBeginningOfLine:, давая вам^L+^Dчтобы дать вам общий эффект.
Если вы не возражаете иметь эту привязку ключей в других приложениях, вы можете попробовать установить ее в общих привязках ключей Cocoa. этой есть объяснение.
кажется, что это не может быть сделано сейчас... не стесняйтесь поправлять меня, если я ошибаюсь... но вот мое новое решение...
перейдите в настройки xcode, затем на вкладку привязки клавиш. дублируйте набор по умолчанию, так что вы не будете злиться на меня, когда предложение, что я делаю перерывы что-то, что вы будете использовать.
найти 2 клавиши, которые являются смежными и не используются для каких-либо команд, которые вы используете... ";","'" возможно.(Я не использую команду n для нового файла, поэтому я выбрал n, m)
установите первый ключ на " Перейти к попрошайничеству строки "и второй ключ на"Удалить до конца строки"
затем используйте эту последовательность для удаления строки...
alternate будет установлено что-то для выбора строки, а затем просто используйте delete.
простое решение для XCode 5 и 6:
установить alcatraz:http://alcatraz.io/ затем используйте его для установки "XCodePlus удалить строку" плагин:
Window > Package managerздесь много других удивительных плагинов как хорошо.





Comments