Возвышенный текст: выберите все экземпляры переменной и измените имя переменной
Я новичок в Sublime, и я только что обнаружил, что если я выберу переменная (не просто любая строка) в моем коде все остальные экземпляры этой переменной получают обводку (белый контур) вокруг них:
есть ли сочетание клавиш, которое позволит мне выберите все эти экземпляры переменной и отредактируйте их все сразу?
вещи, которые я пробовал:
используя ⌘D, ⌘K и ⌘ U позволяет мне выбрать их один за другим, но я должен вручную исключить непеременные совпадения строк:
и с помощью Ctrl⌘G просто выбирает все строка соответствует:
ясно, что Sublime способен различать переменные и строковые совпадения. Нет ли способа выбрать только переменную спички?
9 ответов:
1. ПОМЕСТИТЕ КУРСОР В ПЕРЕМЕННУЮ ⚠️ ничего не выделяйте; просто поместите курсор туда
2. Нажмите⌘Dпо мере необходимости. Не на Mac? CtrlD
НЕ Работа?это сложно. Вот в чем фокус: начните с пустой выбор
тонкий, да?
дополнительные команды:
Найти Все: Ctrl⌘G выбирает все случаи сразу. Не на Mac? AltF3
Отменить Выбор:⌘U шагов назад. Не на Mac? CtrlU
Быстрый Переход Далее:⌘K⌘D пропускает следующее событие. Не на Mac? CtrlK CtrlD
h / t adzenith.
Я знаю, что вопрос о Macs, но я получил здесь поиск ответа на Ubuntu, поэтому я думаю, что мой ответ может быть полезен кому-то.
простой способ сделать это: AltF3.
несмотря на большие усилия, я не нашел встроенный или плагин с помощью способа сделать то, что вы пытаетесь сделать. Я полностью согласен, что это должны возможно, так как программа сможет отличить
foo
сbuffoon
когда вы впервые выделите его, но никто, кажется, не знает, как это сделать.
однако, вот некоторые полезные ключевые комбо для выбора слов в Sublime Text 2:
Ctrl⌘G - выбирает все вхождения текущего слова ( AltF3 на Windows / Linux)
⌘D - выбирает следующий экземпляр текущего слова (CtrlD)
- ⌘K,⌘D - пропускает текущий экземпляр и переходит к выбору следующего (CtrlK,CtrlD)
- ⌘ U - "мягкая отмена", возвращается к предыдущему выбору (Ctrl U)
⌘E,⌘H - использует текущий выбор в качестве поля "найти" в поле " Найти и заменить (CtrlE,CtrlH)
этой работал для меня. Поместите курсор в начале слова, которое вы хотите заменить, а затем
CtrlK,CtrlD,CtrlD ...
Это должно выбрать столько экземпляров слова, как вам нравится, то вы можете просто ввести замену.
магия в том, что вы должны начать с пустого выбора, поэтому поместите курсор перед словом / символом, который вы хотите выбрать, и нажмите Ctrl +D
для меня, это самая большая ошибка в Sublime. alt+f3 трудно достичь / запомнить, а ctrl+shift+g не имеет смысла, учитывая, что ctrl+d-это "добавить следующий экземпляр к выбору".
добавьте это в ваш Привязки Клавиш Пользователя (Настройки > Горячие Клавиши):
{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },
теперь вы можете выделить что-то, нажмите Ctrl+Shift+d, и он добавит каждый другой экземпляр в файле к выбору.
Как user1767754 сказал, ключевым моментом здесь является, чтобы не сделать сначала каких-либо отбора. Просто поместите курсор внутри имени переменной, не дважды щелкните, чтобы выбрать его. Для односимвольных переменных поместите курсор в начало или конец переменной, чтобы не делать никакого выбора изначально. Теперь продолжайте бить Cmd+D для следующего выбора переменной или Ctrl+ Cmd+G для выбора всех переменных одновременно. Он будет волшебно выбирать только переменная.
Это упоминается @watsonic что: в Sublime Text 3 на macOS, начиная с пустой выбор, просто ⌃⌘G ( AltF3 на Windows) делает трюк, а не ⌘D + ⌃⌘G в Sublime Текст 2.