Remover / adicionar quebras de linha após string específica usando texto sublime


95

Usando Sublime Text 2 - É possível inserir uma quebra de linha / retorno de texto após uma String específica em um arquivo de texto, por exemplo, usando a ferramenta LocalizarSubstituir ?

(Pergunta bônus: é possível remover todas as quebras de linha após uma string específica)

Respostas:


222

Veja como você faria em um Mac:

Command+ F> Tipo string > Control+ Command+ G> ESC> Right Arrow> quebra de linha


e Windows / Linux (não testado):

Control+ F> Tipo string > Alt+ F3> ESC> Right Arrow> quebra de linha


A parte importante sendo Control+ Command+ Gpara selecionar todas as correspondências.
Depois de selecionar o texto que está procurando, você pode usar os vários cursores fornecidos para fazer qualquer manipulação de texto que desejar.

Protip: você pode instanciar manualmente vários cursores usando Command+ clique (ou Control+ clique ) para obter resultados semelhantes.


1
Isso parece quebrar quando tento fazer pesquisas com expressões regulares, como(this|that|the other)
Amanda

1
@Amanda tente Option + Enter em vez de ESC (atalho para o botão "Find All").
Sara

1
Vale a pena mencionar que essa mesma tática funciona muito bem para remover quebras de linha que terminam com um padrão específico, como blobs binários em arquivos .reg do Windows: em vez de seta para direita + quebra de linha, tente seta para esquerda + delete até obter a união desejada. Além disso, as teclas de atalho do Windows estão corretas. Não tenho uma instância do Linux útil para testar, mas provavelmente está bem.
Tohuw

Alguma pista sobre como fazer isso em uma seleção em vez de no arquivo inteiro? Control + Command + G limpa a seleção e encontra tudo em todo o arquivo.
Mauro

2
Parece tão óbvio agora ... um milhão de obrigado! Além disso, @Mauro - estou no Windows e posso usar ctrl + d para selecionar a próxima iteração da seleção. Talvez a mesma funcionalidade exista no MAC com Command + d? Você pode ter que pressioná-lo várias vezes para percorrer todo o arquivo
shanehoban

65

Usando a ferramenta Localizar - Substituir , isso pode ser feito de duas maneiras diferentes:

  1. Clique no campo Substituir e pressione Ctrl+ Enterpara inserir uma nova linha (o campo deve ser redimensionado, mas não, por isso é difícil ver a nova linha inserida).

  2. Dentro da ferramenta Localizar - Substituir , ative o modo S&R regex (primeiro ícone à esquerda .*, o atalho de teclado é Alt+ Ctrl/Cmd+ Rpara ativar / desativar).

  3. Digite \nno campo Substituir sempre que desejar inserir uma nova linha.

Ambas as soluções também funcionam se você quiser encontrar novas linhas, basta fazê-lo no campo Localizar .


Não é possível encontrar o modo S&R regex, mas a primeira solução funciona bem!
hhh

@hhh: Se você abrir a ferramenta Localizar-Substituir , o modo S&R regex é o primeiro ícone à esquerda do menu de ferramentas (semelhante a. *)
veducm

@veducm Sim, posso ver o ícone correspondente ao campo de pesquisa, mas não para o campo de substituição. Talvez seja porque eu tenho uma versão não registrada?
hhh

1
@hhh existe apenas um ícone e quando habilitado se aplica a ambos os campos.
veducm

8

Editar-> Linhas-> Linha de união (Ctrl + J)


Isso funciona para mim no editor Atom! Selecione o parágrafo e Ctrl + J .
rolfedh

4

Você provavelmente deve usar vários cursores. Veja a documentação não oficial ou este bom tutorial . Aqui estão algumas instruções breves para colocá-lo no seu caminho:

  1. Coloque o cursor na string de interesse.
  2. Digite Command+ D(Mac) ou Control+ D(Windows / Linux) para selecionar a instância atual da string.
  3. Digite Command+ D(Mac) ou Control+ D(Windows / Linux) para selecionar instâncias sucessivas da string.
  4. Como alternativa, digite Control+ Command+ G(Mac) ou Control+ Command+ Gpara selecionar todas as ocorrências de sua string.
  5. Agora você tem vários cursores, então insira ou remova sua nova linha como desejar.
  6. (digite escpara sair do modo de cursor múltiplo.)

Diverta-se!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.