Если я выберу переменную (а не просто строку) в своем коде, все остальные экземпляры этой переменной получат штрих (белый контур) вокруг них:
Есть ли сочетание клавиш, которое позволит мне выбрать все эти экземпляры переменной и редактировать их все сразу?
Вещи, которые я пробовал:
⌘D, ⌘Kи ⌘Uпозволяет мне выбирать их по одному, но я должен вручную исключить не переменные совпадения строк:
И используя Ctrl⌘Gпросто выбирает все совпадения строк:
Очевидно, что Sublime может различать совпадения переменных и строк. Нет ли способа выбрать только совпадения переменных?
источник
variable (not just any string)
. Это просто выбирает все вхождения строки.Я знаю, что вопрос касается компьютеров Mac, но я попал сюда в поисках ответа на Ubuntu, поэтому я думаю, что мой ответ может быть кому-то полезен.
Легкий способ сделать это: AltF3.
источник
foo
внутри, не выбирайте первоеfoo
. Вместо этого просто поместите курсор в слово,foo
а затемAlt-F3
. Вуаляfoo
не только выделенные.Несмотря на большие усилия, я не нашел встроенного или вспомогательного способа сделать то, что вы пытаетесь сделать. Я полностью согласен с тем, что это должно быть возможно, поскольку программа может отличаться
foo
от того,buffoon
когда вы впервые выделяете ее, но, похоже, никто не знает, как это сделать.Однако вот несколько полезных комбинаций клавиш для выбора слов в Sublime Text 2:
Ctrl⌘G- выбирает все вхождения текущего слова ( AltF3в Windows / Linux)
⌘D- выбирает следующий экземпляр текущего слова ( CtrlD)
⌘E, ⌘H- использует текущий выбор в поле «Найти» в Найти и заменить ( CtrlE, CtrlH)
источник
⌘+D
действует на все вхождения строки. Например, если я выделюfoo
, sublime чудесным образом обводит все переменнуюfoo
s, но не строкуfoo
в моейeject_buffoon
функции. И все же, используя вышеописанные комбинации клавиш, я вынужден вручную⌘+K
вывести совпадения строк, чтобы избежать использованияeject_bufbarn
функции. Должен быть лучший способ!foo_
(foo и пробел после него) или_foo_
(пробелы как до, так и после), а затем использовать⌘-D
илиCtrl-⌘-D
.foo
часто проявляется как(foo)
,_foo,
,(foo,
и_foo}
, поэтому_foo_
довольно неудовлетворительный.Это сработало для меня. Поместите курсор в начало слова, которое вы хотите заменить, затем
CtrlK, CtrlD, CtrlD...
Это должно выбрать столько экземпляров слова, сколько вам нужно, тогда вы можете просто ввести замену.
источник
Волшебство в том, что вы должны начать с пустого выделения, поэтому поместите курсор перед словом / символом, который вы хотите выбрать, и нажмите Ctrl+ D.
источник
Для меня это самая большая ошибка в Sublime. Alt+ F3трудно найти / запомнить, и Ctrl+ Shift+ Gне имеет смысла, учитывая, что Ctrl+ Dэто «добавить следующий экземпляр к выделению».
Добавьте это к своим привязкам клавиш пользователя («Настройки»> «Привязки клавиш»):
Теперь вы можете выделить что-то, нажать Ctrl+ Shift+ D, и это добавит каждый второй экземпляр в файле к выделению.
источник
Он упоминается @watsonic , что в Sublime Text 3 на Mac OS, начиная с пустым выбором , просто ⌃⌘G( AltF3на Windows) делает трюк, а ⌘D+ ⌃⌘Gв Sublime Text 2.
источник
Как сказал пользователь 1767754, ключ в том, чтобы изначально не делать никакого выбора.
Просто поместите курсор в имя переменной, не щелкайте дважды, чтобы выделить ее. Для односимвольных переменных поместите курсор в начало или конец переменной, чтобы изначально не делать никакого выбора.
Теперь продолжайте нажимать Cmd+ Dдля выбора следующей переменной или Ctrl+ Cmd+ Gдля выбора всех переменных одновременно. Он волшебным образом выберет только переменные.
источник
На тот случай, если кто-то еще наткнулся на этот вопрос, ища способ заменить строку в нескольких файлах, это Command+ Shift+F
источник