Ответ 1
Для таких случаев я сделал следующее:
Поместите запись в Key bindings - User
:
{ "keys": ["alt+s"], "command": "toggle_in_selection", "context":
[
{ "key": "setting.is_widget", "operator": "equal", "operand": true }
]
},
Примечание: вы можете выбрать другую комбинацию клавиш.
Затем выберите текст, который хотите найти. Вы можете использовать ctrl+L
для выбора одной строки, ctrl+shift+m
, чтобы выбрать содержимое скобок, в котором вы находитесь, или любой другой способ, указанный в меню Selection
, или любым другим способом.
СОВЕТ. Создайте новый файл, выберите имя файла User.sublime-commands
и сохраните его в папке Packages/User
, где хранятся новые плагины или привязки ключей пользователя. И поместите этот фрагмент в этот файл:
[
// Selection Menu
{ "caption": "Selection: Expand to Paragraph", "command": "expand_selection_to_paragraph" },
{ "caption": "Selection: Expand to Scope", "command": "expand_selection", "args": {"to": "scope"} },
{ "caption": "Selection: Expand to Brackets", "command": "expand_selection", "args": {"to": "brackets"} },
{ "caption": "Selection: Expand to Indentation", "command": "expand_selection", "args": {"to": "indentation"} },
{ "caption": "Selection: Expand to Tag", "command": "expand_selection", "args": {"to": "tag"} }
]
Он добавит эти параметры расширения, которые находятся в меню Selection
, в палитру команд, так что вам не нужно запоминать ярлыки. Вы можете изменить "подпись" на то, что вам подходит.
После того, как вы выбрали текст, который хотите найти, нажмите ctrl+f
или ctrl+i
(поиск или инкрементный поиск), используйте ярлык сверху, чтобы кнопка "in-selection" переключилась (шестую кнопку слева на панели поиска, выглядит как стрелка, указывающая вправо и вниз по вертикальной полосе). (необязательно: нажмите alt + w, чтобы переключить кнопку "целые слова" (выглядит как цитаты), если вы хотите совместить свободный 2
в foo(2,42,23,2,2)
и не соответствовать 2
в 42
). Когда ваш выбор будет изменен, alt+enter
выбирает все совпадения → done.
Вам не нужно писать то, что вы хотите найти, вы можете выбрать его первым и нажать ctrl+e
(команда "slurp_find_string" ), чтобы поместить его в строку поиска, и откройте панель поиска позже, и она будет есть.
Таким образом, общий процесс выглядит следующим образом:
- (необязательно)
ctrl+e
в выбранном тексте, который вы хотите найти, поэтому вам не нужно писать его позже - используйте любой способ для выбора всего текста, который вы хотите найти в
-
ctrl+f
илиctrl+i
, чтобы открыть панель поиска, если вы не сделали 1., напишите, что вы ищете в - переключать в выборе, если не переключать, переключать целые слова, если вы хотите
- найти все с
alt+enter
, и все готово
Сначала звучит немного сложно, но как только вы это сделаете 10 раз, весь процесс (кроме шага 2.) не займет у вас больше секунды. Кроме того, если вы настроите некоторые возвышенные настройки, вы можете сделать это автоматически для некоторых вещей для вас, например, auto ctrl + e при любом выборе или автоматически переключать выбор, когда вы открываете панель поиска с открытым выбором.
ПРИМЕЧАНИЕ. Ваши ярлыки могут отличаться, если вы используете mac или windows.
Надеюсь, что это поможет, если что-то неясно, спросите больше...
EDIT: Я некоторое время играл с ключевыми настройками, и в итоге:
// without whole-words
{ "keys": ["ctrl+space", "f"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": false, "whole_word": false}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["ctrl+space", "f"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": true, "whole_word": false}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
//with whole-words
{ "keys": ["ctrl+space", "w"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": false, "whole_word": true}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
]
},
{ "keys": ["ctrl+space", "w"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse":false, "in_selection": true, "whole_word": true}, "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
Если вы поместите его где-нибудь в Key bindings - User
, он даст вам две быстрых клавиши, "ctrl+space", "f"
(ctrl+space
сначала, а затем f
, похожие на "ctrl+k", "ctrl+d"
)) и "ctrl+space", "w"
. Во-первых, вы получаете инкрементную панель поиска с отключенными целыми словами, вторая с включенными целыми словами. У обоих из них будет выбран предварительный выбор в зависимости от того, было ли у вас что-то выбранное, когда вы нажимали ярлык. Если вы посмотрите на это, вы должны в значительной степени получить представление о том, как настроить его по собственному желанию.