Как пропустить совпадение при использовании Ctrl + D для множественного выбора в Sublime Text 2?

У меня есть код вроде:

testVar = { a: 1 };
testVariable1 = 2;
var c = testVar.a + testVariable2;
var d = testVar;

Я хочу переименовать переменную testVar. Когда я устанавливаю несколько курсоров с помощью Ctrl + D и редактирую переменную, «testVariable» также выбирается и редактируется.

Есть ли способ пропустить некоторые выделения при установке нескольких курсоров с помощью Ctrl + D?


person Just_Mad    schedule 18.07.2012    source источник


Ответы (6)


Просто используйте Ctrl + K, Ctrl + D.

(для OS X: Cmd + K, Cmd + D)

Требуется немного практики, но выполняет свою работу!

person Romain    schedule 18.07.2012
comment
@Qwerty: Alt + F3 Выбирает все вхождения. - person Emil Stenström; 17.05.2014
comment
@Romain написал Требуется немного практики. Я думаю, это означает, что это могло бы быть более интуитивно понятным. Не нажимайте комбинацию клавиш, пока не будет выделено то, что вы хотите пропустить. Например. если у вас 3 совпадения, и вы хотите пропустить 2-е совпадение, сначала выделите 1-е, нажмите CTRL + D, чтобы выделить 2-е, ЗАТЕМ нажмите комбинацию клавиш, чтобы пропустить 2-е совпадение, и выделите 3-е. Помощь? - person Tyler Collier; 10.10.2014
comment
Добавьте это в пользовательскую раскладку клавиатуры и сократите время тренировки почти до нуля! { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" } - person Mrchief; 07.10.2015
comment
Обновленный ответ, в привязках клавиш json добавьте эту строку: {key: ctrl + alt + d, command: editor.action.moveSelectionToNextFindMatch, when: editorFocus}, - person bevo009; 26.01.2020

Вы можете одновременно нажать Ctrl + K и Ctrl + D, чтобы пропустить выделение. Если вы зашли слишком далеко с выбором, вы можете использовать Ctrl + U, чтобы вернуться к предыдущему выбору.

Примечание. Замените Ctrl на Cmd для Mac OS X.

Конфигурацию по умолчанию для этого можно просмотреть, перейдя в Preferences> Key Bindings-Default в строке меню приложения, где вы увидите что-то вроде этого:

{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }

Если вы хотите, вы можете настроить ключи в соответствии с вашими потребностями, перейдя в Preferences> Key Bindings-User и скопировав приведенный выше код, а затем изменив ключи.

person SUB0DH    schedule 24.07.2012

Если вы наведите курсор на слово и используйте Ctrl + D для выбора слова. В следующий раз, когда вы нажмете Ctrl + D, он должен выбрать следующее выделенное слово.

Если вы дважды щелкните, чтобы выбрать слово, Ctrl + D выберет точную строку, а не только выделенные.

Другими словами, Ctrl + D, когда ничего не выделено, выполняется поиск по всему слову. Если у вас что-то уже выделено, Ctrl + D выполнит поиск подстроки.

Я протестировал, и он работает в Sublime Text 2 Version 2.0.1, Build 2217.

person Atomicflare    schedule 17.04.2013
comment
На самом деле это единственное верное решение данной проблемы. Люди голосуют за бездумно. - person Qwerty; 05.05.2014
comment
_1 _ + _ 2_ , когда ничего не выбрано, также чувствительно к регистру. - person venkatvb; 04.06.2015
comment
@vankatvb Я не считаю, что это правда ... _1 _ + _ 2_, когда ничего не выбрано, для меня по-прежнему нечувствительна к регистру. Он будет выделять только совпадения с учетом регистра, но на самом деле использование ярлыка или _3 _ + _ 4_ выберет те, которые не соответствуют регистру. - person Schism; 17.08.2015
comment
Кстати, вот тот же ответ в другом вопросе: stackoverflow.com/a/18422707/782045 - person interestinglythere; 29.09.2016
comment
@Qwerty - это не единственное истинное решение, это такое же решение, как и ctrl-k ctrl-d. У обоих есть свои варианты использования. Этот ответ, например, бесполезен, если строка поиска не окружена пробелами. Беспорядочно называть людей безмозглыми тоже не очень помогает. - person phil294; 18.04.2021
comment
@ phil294 Раньше я был другим человеком. Хотел бы я изменить комментарий сейчас. - person Qwerty; 19.04.2021

Поместите курсор перед переменной, не выбирайте переменную, нажмите Ctrl + D, чтобы выбрать каждое вхождение переменной, а не шаблон.

person n1nj4    schedule 23.01.2017

Обновленный ответ для vscode в 2020 году в Windows, в keybindings.json добавьте эту строку, чтобы легко пропустить следующее выбранное вхождение:

  {
    "key": "ctrl+alt+d",
    "command": "editor.action.moveSelectionToNextFindMatch",
    "when": "editorFocus"
  },

* да, я знаю, что вопрос касается возвышенного текста, но я нашел его, выполнив поиск в Google по тому же вопросу + vscode, так что это может помочь кому-то, поскольку сопоставления идентичны.

person bevo009    schedule 26.01.2020

Думаю, я понимаю, почему меня это сбивало с толку: это не пропуск, это снятие выделения.

Вы нажимаете Ctrl+D, как обычно, и если вы выбираете один по ошибке, вы делаете Ctrl+K, D, где сначала нажимаете K, а затем D, не отпуская Ctrl. Это отменит выбор.

person Artur Carvalho    schedule 08.07.2021