Expandir seleção do cursor para o termo de pesquisa em Sublime Text

0

Eu uso Sublime Text frequentemente para escrita sem codificação, onde a capacidade de selecionar / realçar texto de uma posição de cursor para um termo de pesquisa pode ser útil. Isso é possível com os atalhos internos?

Para dar um exemplo, digamos que eu tenha o seguinte texto:

Be patient till the last. Romans, countrymen, and lovers! hear me for my cause, and be silent, that you may hear: believe me for mine honour, and have respect to mine honour, that you may believe: censure me in your wisdom, and awake your senses, that you may the better judge.

Meu cursor está sob o 'p' de 'patient' e desejo selecionar o texto de lá para 'lovers!' No Vim, eu poderia fazer v/lovers! e expandir a seleção de 'paciente' para 'amantes'. O Vi-mode no Sublime Text não pode fazer isso (e eu não esperava) ... mas o Sublime Text pode fazer algo assim nativamente?

    
por zoned post meridiem 13.02.2014 / 18:07

1 resposta

0

Não sei quais são as normas para responder à sua pergunta aqui, mas desde que recebi o temível emblema Tumbleweed para este, imaginei que tentaria fazer isso sozinho.

Aqui está uma abordagem (muito deselegante) que eu criei; funciona apenas no ST3. A idéia básica é que você inicie uma busca incremental (ou achado regular, e saia do campo de busca com ESC), defina uma marca, retroceda à posição anterior do cursor, estenda a seleção para marcar e então limpe a marca. Isso tudo pode ser encapsulado na macro a seguir e, em seguida, atribuído a uma tecla de atalho:

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

Tudo se resume a: 1) executar pesquisa incremental (comando-I no OS X, sai do campo de busca ao entrar), 2) pressionar a tecla de atalho.

Duas grandes advertências. 1) Isso funciona somente no ST3, porque o ST2 não tem uma função interna para retornar à posição anterior do cursor. 2) Ele irá deletar todas as marcas, então se você usar marcas regularmente, você não vai gostar dessa macro (embora eu tenha certeza que ela pode ser ajustada para deletar a última marca).

Não é v/<search term> . É uma solução feia. Mas funciona, pelo menos para o ST3. Se alguém souber uma maneira mais elegante de fazer isso, ou como fazê-lo no ST2, compartilhe.

    
por 20.02.2014 / 23:51