Sublime Text: выберите все экземпляры переменной и измените имя переменной
Я новичок в Sublime, и я просто обнаружил, что если я выберу в моем коде переменную (а не только любую строку), все остальные экземпляры этой переменной получат штрих (белый контур) вокруг них:
![enter image description here]()
Есть ли комбинация клавиш, которая позволит мне выбрать все эти экземпляры переменной и отредактировать их все сразу?
Вещи, которые я пробовал:
Используя ⌘ D, ⌘ K, а ⌘ U позволяет мне выбирать их по одному, но мне нужно вручную исключить совпадение строк без переменной:
![enter image description here]()
И используя Ctrl ⌘ G просто выбирает все совпадения строк:
![enter image description here]()
Ясно, что Sublime может различать переменные и строки. Невозможно выбрать только совпадение переменных?
Ответы
Ответ 1
1. Поставьте курсор в переменную
⚠️ ключ должен начинаться с пустого выделения ⚠️ - не выделять; просто переместите свой курсор туда.
![text cursor on variable]()
2. НАЖМИТЕ ⌘ D по мере необходимости. Не на Mac? Ctrl D
![more instances of variable highlighted]()
Work не работал? Попробуйте еще раз, убедившись, что вы начали с пустого выбора.
Commands больше команд:
Найти все: Ctrl ⌘ G Выбирает все события одновременно. Не на Mac? Alt F3
Отмена выбора: ⌘ U Шаги назад. Не на Mac? Ctrl U
Быстрый переход Далее: ⌘ K ⌘ D Пропускает следующий случай. Не на Mac? Ctrl K Ctrl D
📙 возвышенные документы
ч/т адзенит.
Ответ 2
Я знаю, что вопрос касается компьютеров Mac, но я нашел здесь ответ для Ubuntu, поэтому, я думаю, мой ответ может быть полезен кому-то.
Простой способ сделать это: Alt F3.
Ответ 3
Несмотря на много усилий, я не нашел встроенный или подключенный к плагину способ сделать то, что вы пытаетесь сделать. Я полностью согласен с тем, что это должно быть возможно, так как программа может отличить foo
от buffoon
, когда вы впервые выделите ее, но никто не знает, как это сделать.
Однако, вот некоторые полезные комбинации клавиш для выбора слов в Sublime Text 2:
Ctrl ⌘ G - выбирает все вхождения текущего слова (Alt F3 в Windows/Linux)
⌘ D - выбирает следующий экземпляр текущего слова (Ctrl D)
- ⌘ K, ⌘ D - пропускает текущий экземпляр и переходит к выбору следующего (Ctrl K, Ctrl D)
- ⌘ U - "soft undo", возвращается к предыдущему выбору (Ctrl U)
⌘ E, ⌘ H - использует текущий выбор в качестве поля "Найти" в Find и Replace (Ctrl E, Ctrl H)
Ответ 4
Это > работало для меня. Поместите курсор в начало слова, которое вы хотите заменить, затем
Ctrl K, Ctrl D, Ctrl D...
Для этого нужно выбрать столько экземпляров слова, сколько захотите, тогда вы можете просто ввести замену.
Ответ 5
"Магия", вы должны начать с пустого выделения, поэтому поместите курсор внутрь символа/символа, который вы хотите выбрать, и нажмите Ctrl + D
Ответ 6
Для меня это самая большая ошибка в Sublime. alt + f3 трудно достичь/запомнить, и ctrl + shift + g не имеет смысла, учитывая, что ctrl + d - это "добавить следующий экземпляр к выделению".
Добавьте это к своим привязкам клавиш пользователя ("Настройки"> "Привязки клавиш"):
{ "keys": ["ctrl+shift+d"], "command": "find_all_under" },
Теперь вы можете выделить что-то, нажмите Ctrl + Shift + d, и это добавит каждый второй экземпляр в файле к выделению.
Ответ 7
Он упомянутый @watsonic, что: в Sublime Text 3 на macOS, начиная с пустого выделения, просто ⌃ ⌘ G (Alt F3 в Windows) делает трюк вместо ⌘ D + ⌃ ⌘ G в Sublime Text 2.
Ответ 8
Как сказал пользователь1767754, ключ здесь состоит в том, чтобы не делать какой-либо выбор изначально. Просто поместите курсор внутри имени переменной, дважды щелкните его, чтобы выделить его. Для одиночных символьных переменных поместите курсор в начале или конце переменной, чтобы не делать какой-либо выбор изначально. Теперь продолжайте нажимать Cmd + D для выбора следующей переменной или Ctrl + Cmd + G для одновременного выбора всех переменных. Он волшебным образом выбирает только переменные.
Ответ 9
На тот случай, если кто-то еще наткнулся на этот вопрос, ища способ заменить строку в нескольких файлах, это Command + Shift + F