13

Предположим, я работаю с файлом в Sublime Text 3, который содержит несколько вхождений одной символьной переменной c , которую я хочу переименовать в другое имя.

Когда я выбираю один экземпляр этой переменной с помощью курсора, Sublime Text автоматически выделяет для меня другие экземпляры этой переменной:

Эта визуальная подсветка включается параметром: "match_selection": true и ясно показывает, что sublime достаточно умен, чтобы выделять только другие экземпляры этого символа, если он имеет значение в качестве переменной.

Однако, несмотря на это выделение, указывающее, что это должно быть возможно, кажется, что сейчас нет простого способа автоматически выбрать только эти выделенные переменные c .

Если я хочу быстро переименовать все экземпляры переменной c используя несколько курсоров, либо с помощью Quick Add Next (cmd+D), либо Quick Find All (ctrl+cmd+G) вместо выбора только этой переменной c , я получаю каждый экземпляр из выбранного символа 'c':

Это, очевидно, бесполезно, поскольку не имеет отношения к фактической переменной; Он просто вслепую выбирает все буквы "с", независимо от того, являются ли они выбранной переменной или нет.

Есть ли способ заставить Quick Add Next и Quick Find All вести себя как правила подсветки, которые использует параметр match_selection ? Это было бы гораздо полезнее в этом случае, чем просто слепо выбирать каждый экземпляр выбранного символа (ов).

Я что-то пропустил? Я не могу найти параметры быстрого поиска всех экземпляров или переменную быстрого добавления следующего , или какой-либо способ настроить поведение по умолчанию быстрого поиска всех и быстрого добавления следующего. Насколько я могу судить, мои единственные варианты - либо вручную переименовать каждый экземпляр c , либо написать некоторое пользовательское регулярное выражение для достижения того же результата, что и исходный алгоритм выделения.

2 ответа2

21

Хитрость заключается в том, чтобы начать с пустого выделения, когда курсор находится слева от слова, которое вы хотите выбрать. Затем нажмите Ctrl G (или Alt F3 в Windows/Linux), чтобы выбрать все вхождения этого слова:

код Луа

или нажмите D (Ctrl D на Win/Lin), чтобы начать выбирать их по одному.

0

При выборе и переименовании всех вхождений переменной это не означает, что все строки должны быть переименованы. Например, «с» может встречаться во многих словах, не являясь переменными. Чтобы ТОЛЬКО переименовать вхождения, которые являются переменными, можно использовать дополнение anaconda:

Щелкните правой кнопкой мыши переменную

Выберите Anaconda -> Переименовать объект под курсором.

Ps. Можно дважды щелкнуть по переменной, чтобы проверить, какой будет выбор, перед выполнением переименования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .