Позволяет ли Sublime Text 2 пользователю выполнять поиск и замену, ограничиваясь текущим выбором?
Я должен думать, что должен, только я не смог после нескольких поисков найти, как это осуществить.
Позволяет ли Sublime Text 2 пользователю выполнять поиск и замену, ограничиваясь текущим выбором?
Я должен думать, что должен, только я не смог после нескольких поисков найти, как это осуществить.
Ответы:
Для этого в ST2 есть кнопка.
Если ваш выбор включает разрыв строки, кнопка «в пределах выделения» будет автоматически активирована - на ST2
Умная активация была потеряна на ST3, к сожалению. Вы можете следить за этим здесь http://www.sublimetext.com/forum/viewtopic.php?f=3&t=11679
Вот что вам нужно добавить в ваши пользовательские сочетания клавиш:
{ "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}
]
},
toggle_side_bar toggle_full_screen toggle_distraction_free toggle_overwrite toggle_record_macro toggle_setting toggle_comment toggle_case_sensitive toggle_regex toggle_whole_word toggle_preserve_case
(со специфичными для Mac OS X ярлыками) заменить some name
на new name
:
some name
: cmdfвведите some name
(иногда нужно нажать return)new name
, не нажмитеreturnctrl+H
и оставьте «Найти что»: есть кнопка с заголовком «В выборе»
ключ для работы с заменой в выделении состоит в том, чтобы ПЕРВЫЙ выделить текст, затем перейти к поиску> заменить, затем ввести текст для того, что вы собираетесь найти и заменить, затем нажмите кнопку с подсказкой «в выделении» и нажмите «Заменить все». ..
Я добавляю другой ответ, так как лучшее и наиболее полезное решение (на мой взгляд) было скрыто в комментарии, и я чуть не пропустил его (спасибо @mdrozdziel).
Выделите текст, который хотите найти, нажмите Shift+, Hчтобы вызвать панель инструментов поиска и замены. Слева от банка кнопок находится кнопка, которая активирует поиск по выбору.
Это по умолчанию отключена в ST3 , но вы можете установить его по умолчанию, когда вы выберете более чем одну строку, добавив "auto_find_in_selection": true
в файл предпочтений (найдено путем ввода Alt, N, S, Enter).