Edição sublinhada de texto múltiplo 2

147

Eu quero editar várias linhas e cada "palavra" dentro dessa linha. Por exemplo:

45 28 42 65
24 87 47 95
01 25 87 98

Quero selecionar todos os números inteiros em todas as linhas e colocar um "0x" antes dele, para que fique assim:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

Eu sei o Ctrl+ shift+ Lpara obter cursores em cada linha, mas como posso colocar os cursores na frente de cada número para editar em massa de uma só vez?

Syperus
fonte
Provavelmente é tarde para responder a esta pergunta, mas aqui está um link onde você pode encontrar uma resposta para a pergunta. sublimetext.com/docs/3/...
Alexander

Respostas:

282

Destaque as linhas e use:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

Você pode mover o cursor para o conteúdo do seu coração e editar todas as linhas de uma só vez.

Também é chamado de "Dividir em linhas" no menu "Seleção".

Owen
fonte
Sim, mas como também posso editar todos os números nas linhas de uma só vez? Então, se eu fizesse apenas a primeira linha, poderia editar todos os números na primeira linha de uma só vez? Se isso faz algum sentido
Syperus
você não pode - você só pode ter o cursor em um lugar em qualquer linha. Mas você pode movê-lo para o início da linha, adicionar 0x, usar alt> para mover uma palavra e adicionar 0x novamente.
Owen
28
Isso não é verdade - você pode ter quantos cursores quiser em uma linha. Tudo o que você precisa fazer é Ctrl-click(no Windows) colocá-los.
MattDMo
3
@MattDMo YES !! Era exatamente o que eu estava procurando. Por acaso, você conhece o atalho do teclado para selecionar todos eles assim? Vou olhar em volta e ver se consigo encontrá-lo.
Syperus
quando usei Ctrl+ Shift+ L, ele seleciona todas as linhas, mas o cursor em cada linha está no início ou no final da linha. se eu pressionar a seta esquerda, em uma tentativa de obter todos os cursores de volta ao início de cada linha, ele moverá os cursores para trás em relação ao local onde estão, para que ainda não estejam uniformemente na mesma posição na linha. como obtenho todos os cursores no início da linha? (por contexto, estou apenas tentando adicionar [space]*[space]no início de cada linha).
user1063287
84

Use vários cursores e seleção de coluna.

No seu caso, você só precisa colocar os cursores no início de cada coluna que contém as "palavras".

Linux e Windows

  • Clique e arraste para selecionar coluna (s): Shift+RightMouseBtn
  • Adicione outras colunas à seleção clicando e arraste: Ctrl+ Shift+RightMouseBtn
  • Subtrair coluna (s) da seleção: Alt+ Shift+RightMouseBtn
  • Adicionar cursores individuais: Ctrl+LeftMouseBtn
  • Remover cursores individuais: Alt+LeftMouseBtn

Mac

  • Clique e arraste para selecionar coluna (s): Option⌥+LeftMouseBtn
  • Adicionar outra coluna (s) de selecção por clique e arraste: Option⌥+LeftMouseBtn
  • Subtrair coluna (s) da seleção: Cmd⌘+ Option⌥+ shift+LeftMouseBtn
  • Adicionar cursores individuais: Cmd⌘+LeftMouseBtn
  • Remova cursores individuais: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

Em seguida, edite conforme necessário. No seu caso, escreva 0, x.

Você também pode navegar conforme necessário até o final ou o início das palavras, selecionar as palavras e colocar entre aspas ou parênteses, e assim por diante.


Referências:

elomage
fonte
10

Trabalhou para mim no OS X + Sublime build 3083:

OPTION (ALT) + select lines
Jose Alban
fonte
3

Não sei se é possível "pronto para uso". E, infelizmente, também não conheço um plugin apropriado. Para resolver o problema sugerido, você pode usar expressões regulares.

  1. Cmd + F (Localizar)
  2. Regexp: [^ ]+(ou \d+, ou o que você preferir)
  3. Option + F (Localizar Tudo)
  4. Edite-o

As teclas de atalho podem variar dependendo do sistema operacional e das preferências pessoais (as minhas são para o OS X).

FreeNickname
fonte
Nenhum plugin é necessário. Use Alt + Enter no final para Linux.
Elomage # 15/14
2

Eu estava enfrentando o mesmo problema no Linux, o que fiz foi selecionar todo o conteúdo (ctrl-A) e pressionar ctrl + shift + L. Ele fornece um cursor em cada linha e você pode adicionar conteúdo semelhante a cada coluna .

Além disso, você pode executar outras operações, como cortar, copiar e colar colunas.

PS: - Se você deseja selecionar um conjunto retangular de dados do texto, também pode pressionar Shift e segurar o botão direito do mouse e, em seguida, selecionar dados de maneira retangular. Em seguida, pressione CTRL + SHIFT + L para obter o cursor em cada linha.

StuckWithSpring
fonte
2

Windows: Prefiro Alt + F3 para pesquisar uma string e alterar todas as instâncias da string de pesquisa de uma só vez.

http://www.sublimetext.com/docs/selection

tomcat
fonte
Alt + F3 também funciona no Linux e no Sublime Text 3. Essa é a maneira mais rápida e fácil de editar a mesma string em um arquivo.
Kievlaluno #
2

No Windows, eu prefiro Ctrl+ Alt+ Down.

Ele seleciona as linhas uma a uma e inicia automaticamente o modo de editor de várias linhas. É um pouco mais rápido assim. Se você tiver muitas linhas para editar, selecionar o texto e Ctrl+ Shift+ Lé a melhor opção.

Semih Sezer
fonte
0

ctrl + shift + clique com o botão direito do mouse funciona melhor dessa maneira

chris_cx
fonte
-1

Não há problema em selecionar manualmente cada número para um pequeno conjunto de números, como no seu exemplo, mas para coleções maiores, você pode fazer uma pesquisa de expressão regular que fará o trabalho para você.

Ctrl+ Fabrirá a barra de pesquisa.

As pesquisas de Regex são ativadas clicando no botão ". *" Na extrema esquerda.

Digite "\ d +" para procurar todas as ocorrências de 1 ou mais dígitos. Clicar no botão "Localizar tudo" selecionará cada um desses números separadamente.

Em seguida, você pode usar Ctrl+ Shift+ Lpara converter a seleção em vários cursores. A partir daqui, você pode fazer o que quiser.

Nolan Luckett
fonte