Я часто использую Sublime Text для написания без кодирования, где может быть полезна возможность выбора / выделения текста от позиции курсора до условия поиска. Возможно ли это с помощью встроенных ярлыков?

Для примера, скажем, у меня есть следующий текст:

Будьте терпеливы до последнего. Римляне, земляки и любители! услышь меня за мое дело и молчи, чтобы ты мог услышать: поверь мне в мою честь и почитай мою честь, чтобы ты мог поверить: осуди меня в своей мудрости и пробуди свои чувства, чтобы ты мог лучше судить ,

Мой курсор находится под 'p' слова 'терпеливый', и я хочу выделить оттуда текст 'любовникам!«В Vim я мог бы заниматься v/lovers! и это расширило бы выбор от «пациента» до «любовников». Vi-режим в Sublime Text не может этого сделать (и я бы этого не ожидал) ... но может ли Sublime Text сделать что-то подобное изначально?

1 ответ1

0

Я не уверен, каковы нормы для ответа на свой вопрос здесь, но, так как я получил страшный значок Плетеного для этого, я решил, что попытаюсь сделать это сам.

Вот (очень не элегантный) подход, который я придумал; работает только в ST3. Основная идея заключается в том, что вы запускаете пошаговый поиск (или обычный поиск и выходите из поля поиска с помощью ESC), устанавливаете отметку, перематываетесь на предыдущую позицию курсора, расширяете выделение до отметки, а затем очищаете отметку. Все это может быть заключено в следующий макрос, а затем назначено сочетанию клавиш:

[
{
"args": null,
"command": "set_mark"
},
{
"args": null,
"command": "jump_back"
},
{
"args": null,
"command": "select_to_mark"
},
{   "args":
    {
        "name": "mark"
    },
"command": "clear_bookmarks"
}
]

Это сводится к: 1) запустить инкрементальный поиск (команда-I в OS X, выйти из поля поиска при вводе), 2) нажать комбинацию клавиш.

Два больших предостережения. 1) Это работает только в ST3, потому что ST2 не имеет встроенной функции для возврата к предыдущей позиции курсора. 2) Он удалит все метки, поэтому, если вы регулярно используете метки, этот макрос вам не понравится (хотя я уверен, что его можно настроить, чтобы просто удалить последнюю метку).

Это не v/<search term> . Это уродливый обходной путь. Но это работает, по крайней мере, для ST3. Если кто-нибудь знает более элегантный способ сделать это или как это сделать в ST2, пожалуйста, поделитесь.

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