Como você move o (s) cursor (s) para a próxima ocorrência de um caractere em Sublime Text?

4

Digamos que temos um arquivo contendo isso:

name, job, age
Mark, Specialist, 24
Bob Guy, Manager, 43
Susan Third, Data Generation, 30

O que eu quero fazer é navegar pelos campos. Mover para o próximo campo, selecionar um campo etc. Isso é feito facilmente no VIM procurando vírgulas (e supondo que não há vírgulas com escape); também é possível no Sublime Text? E de uma forma que funciona com vários cursores, digamos um no início de cada linha?

Pontos de bônus se você puder estendê-lo para passar para a próxima substring ou correspondência de expressão regular.

    
por twhb 11.11.2014 / 10:43

3 respostas

5

Em seu caso de uso específico, uma boa pesquisa para isolar cada valor seria \w[^,\n]+ - certifique-se de clicar no botão regex ou pressionar Alt + R (Windows) / Cmd + Opção + R (Mac) no campo de pesquisa.

Para navegar para a próxima correspondência, use F3 (Windows) / Cmd + G (Mac). Shift + F3 / Cmd + Deslocamento + G ira navegar para a correspondencia anterior . Você pode continuar fazendo isso depois de pressionar Esc para descartar o campo de pesquisa, e isso permitirá que você edite imediatamente a correspondência selecionada.

Infelizmente, não parece que o find-next possa coexistir com várias seleções - ele acaba destacando a primeira correspondência na última seleção. Você poderia destacar múltiplas linhas, então dividir a seleção em linhas, então usar Ctrl (Windows) / Cmd (Mac) + ou flechas até certo ponto, mas isso obviamente irá desmoronar quando alguns valores tiverem espaços.

    
por 19.11.2014 / 06:11
4

Uma maneira de fazer isso é usar o modo vintage.

Edite suas preferências (por exemplo, Settings - User ) para não ignorar o pacote vintage (que está nas preferências padrão).

{
    "ignored_packages": []
}

Quando você tiver vários cursores, use o comando vim f seguido por um caractere para mover todos os cursores para a próxima localização desse caractere. (veja link )

Infelizmente, eles só se movem para caracteres na mesma linha e os cursores nas linhas sem esse caractere são deixados onde estavam localizados anteriormente. O comando de busca / esquece seus múltiplos cursores.

    
por 06.08.2016 / 13:07
0
  • CTRL + A = > selecione todo o arquivo
  • CTRL + SHIFT + L = > dividir a seleção em linhas
  • Página inicial = > mova todas as seleções para o início da linha
  • ESC = > entrar no modo de comando
  • f , , = > encontre e mova cursores em cada linha até o primeiro ponto-e-vírgula (repita até que você esteja no que você está procurando)
  • i = > entrar no modo de inserção

Trabalho feito:)

    
por 23.11.2016 / 15:14