Подтвердить что ты не робот

Разверните множественный выбор ко всем предложениям (поля, подсказки) в Sublime Text 2

Мне интересно, существует ли способ расширить выделение во всех областях, предложенных блоками Sublime Text 2, поэтому не нужно нажимать Ctrl - D, а иногда Ctrl - K - D, как показано в Как пропустить совпадение при использовании Ctrl + D для нескольких выборов в Sublime Text 2?

90% времени ящики на экране - именно то, что я хочу для множественного выбора, и было бы очень удобно, если бы был один вариант для этого.

например, если у вас

foo(2,42,23,2,2)

и вы нажмете на первые 2, окна будут показаны только в трех одиночных 2-х. Это я хотел бы выбрать с помощью одной команды/макроса.

Если вы идете с Ctrl - D, вам нужно пропустить 2s в 42 и 23 с помощью Ctrl - K - D.

Если ничего подобного не существует, любые указатели на создание плагина для такой функциональности были бы оценены.

ОБНОВЛЕНИЕ. У меня есть большое предложение использовать Alt + F3, что является потрясающим для внесения изменений во весь файл. Однако было бы также полезно ограничить область множественного выбора текущей видимой страницей или тегом или скобками или чем-то еще.

4b9b3361

Ответ 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". Во-первых, вы получаете инкрементную панель поиска с отключенными целыми словами, вторая с включенными целыми словами. У обоих из них будет выбран предварительный выбор в зависимости от того, было ли у вас что-то выбранное, когда вы нажимали ярлык. Если вы посмотрите на это, вы должны в значительной степени получить представление о том, как настроить его по собственному желанию.

Ответ 2

Вы можете щелкнуть до или после любого "2", а затем выбрать все 2 с помощью Atl + F3 в Windows и Linux или Ctrl + + G в OS X.