20

Позволяет ли Sublime Text 2 пользователю выполнять поиск и замену, ограничиваясь текущим выбором?

Я должен думать, что должен, только я не смог после нескольких поисков найти, как это осуществить.

7 ответов7

22

Для этого в ST2 есть кнопка.

Скриншот

7

Если ваш выбор включает разрыв строки, кнопка "в пределах выбора" будет автоматически активирована - на ST2

Умная активация была потеряна на ST3, к сожалению. Вы можете следить за этим здесь http://www.sublimetext.com/forum/viewtopic.php?f=3&t=11679

5

Вот что вам нужно добавить в ваши пользовательские сочетания клавиш:

{ "keys": ["alt+y"], "command": "toggle_in_selection", "context":
    [
        { "key": "setting.is_widget", "operator": "equal", "operand": true }
    ]
},

Да, глупо, что это не набор ключей по умолчанию.

Также имя команды « toggle_in_selection » не было задокументировано, но я угадала и повезло.


РЕДАКТИРОВАТЬ ДОБАВИТЬ:

/*
btw, the way i want to use find by default
(actually, i use replace by default, but same dif),
is for "in_selection" to be true by default,
*unless* the selection is empty.
(
the default is that "in_selection" is *false* by default,
unless the selection contains a newline.
)
i finally got around to digging up how to get that,
which is apparently by changing the *keybindings* you use to pop open the find(/replace) panel?
*/
    { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace", "in_selection": true}},
    { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace", "in_selection": false},
    "context":
        [
            { "key": "selection_empty", "operator": "equal", "operand": true}
        ]
    },
3

(со специальными сочетаниями клавиш для Mac OS X), чтобы заменить some name new name:

  1. поместите курсор над текстом
  2. Найдите some name: cmd f, введите some name (иногда нужно нажать return)
  3. Укажите заменить: сдвиг CMD г, вкладку вкладку, чтобы заменить поле, введите new name не нажимайте кнопку возврата
  4. повторите альт CMD е пока не сделано.
2

Просто выберите текст, который вы хотите найти, затем нажмите «Заменить» в меню поиска. Это будет автоматически сделано в пределах вашего выбора.

0

Я добавляю другой ответ, так как лучшее и наиболее полезное решение (на мой взгляд) было скрыто в комментарии, и я чуть не пропустил его (спасибо @mdrozdziel).

Выделите текст, который вы хотите найти, нажмите Shift+H, чтобы вызвать панель инструментов поиска и замены. Слева от банка кнопок находится кнопка, которая активирует поиск по выбору.

Это отключено по умолчанию в ST3, но вы можете установить его в значение по умолчанию, когда вы выбираете более одной строки, добавив "auto_find_in_selection": true в свой файл настроек (определяется путем ввода Alt, N, S, Enter).

0

ключ для работы с заменой в выделении - это сначала выбрать текст, затем перейти к поиску> заменить, затем заполнить текст тем, что вы собираетесь найти и заменить, затем нажмите кнопку с подсказкой "в выделении" и нажмите "Заменить все". ..

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