Vários cursores em janelas de texto sublime 2

84

Eu instalei o Sublime Text 2 no Windows e estou tentando usar o recurso de vários cursores.

Em primeiro lugar, destaco a seleção que procuro (três linhas).

Em seguida, posso pressionar CTRL+ Dpara selecionar cada nova ocorrência ou ALT+ F3para selecionar todas. Existem quatro repetições na minha situação.

Agora quero mover os cursores no meio das três linhas e adicionar algumas informações, a serem adicionadas a todas as ocorrências.

Assim que clico na seleção, a seleção múltipla desaparece? Há algo que estou fazendo de errado, tenho certeza que está errado, mas como a documentação é tão fraca, não consigo descobrir como?

StuartM
fonte
20
Fornece ctrl+shift+lvários cursores?
AGS de
5
Desembarcou aqui procurando por isto: sublimetext.com/docs/2/column_selection.html
twamley
Droga, vou precisar de um mouse melhor para isso. Obrigado twamley
12
Ctrl + left clickfoi a solução para mim. Veja a resposta do Zenexer para muito mais.
Martin Thoma
Obrigado twamley; adoro quando os propósitos colidem em SO.
karan.dodia

Respostas:

39

Em Sublime Text, após selecionar várias regiões de texto, um clique é considerado uma forma de sair do modo de seleção múltipla. Em vez disso, mova o cursor com as teclas do teclado (setas, Ctrl + setas, etc.) e você ficará bem

JamieJag
fonte
10
ctrl + shift + l - também. Obrigado
StuartM
Devo dizer que acho essa uma das desvantagens do Sublime, nunca tive que me livrar de problemas com os outros ou usar combinações de teclas, dependendo da situação. Algumas situações exigem que você pressione Enter. O que há de errado com o Esc? :)
Henrik Erlandsson
156

Normalmente, é mais fácil simplesmente pular o mouse - ou seria se o Sublime não bagunçasse a seleção múltipla durante a quebra de linha. Aqui está a documentação oficial sobre como usar o teclado e o mouse para seleção múltipla. Por estar um pouco espalhado, vou resumir:

Onde os atalhos são diferentes no Sublime Text 3, fiz uma observação. Para a v3, sempre testo usando a versão de desenvolvimento mais recente; se você estiver usando a versão beta, sua experiência pode ser diferente.

Se você perder sua seleção ao alternar entre guias ou janelas (principalmente no Linux), tente usar Ctrl+ Upara restaurá-la.

Rato

Windows / Linux

Blocos de construção:

  • Positivo negativo:
    • Adicionar à seleção: Ctrl
    • Subtrair da seleção: Alt nas primeiras versões da v3, isso não funcionava para a seleção linear.
  • Tipo de seleção:
    • Seleção linear: Left Click
    • Seleção de bloco: Middle Clickou Shift+ Right Click No Linux, clique com o botão do meio colando por padrão.

Combine como achar melhor. Por exemplo:

  • Adicionar à seleção: Ctrl+ Left Click(e, opcionalmente, arrastar)
  • Subtrair da seleção: Alt+ Left Click Isso não funcionou nas primeiras compilações da v3.
  • Adicionar seleção de bloco: Ctrl+ Shift+ Right Click(e arrastar)
  • Subtrair seleção de bloco: Alt+ Shift+ Right Click(e arrastar)

Mac OS X

Blocos de construção:

  • Positivo negativo:
    • Adicionar à seleção:
    • Subtrair da seleção: ⇧⌘(só funciona com seleção de bloco na v3; provavelmente bug)
  • Tipo de seleção:
    • Seleção linear: Left Click
    • Seleção de bloco: Middle Clickou +Left Click

Combine como achar melhor. Por exemplo:

  • Adicionar à seleção: + Left Click(e, opcionalmente, arrastar)
  • Subtrair da seleção: ⇧⌘+ Left Click(e arrastar - esta combinação não funciona no Sublime Text 3, mas supostamente funciona no 2)
  • Adicionar seleção de bloco: ⌥⌘+ Left Click(e arrastar)
  • Subtrair seleção de bloco: ⌥⇧⌘+ Left Click(e arrastar)

Teclado

janelas

  • Retorne ao modo de seleção única: Esc
  • Estende a seleção para cima / para baixo em todos os circunflexos: Ctrl+ Alt+ Up/Down
  • Estende a seleção para a esquerda / direita em todos os acentos circunflexos: Shift+ Left/Right
  • Mova todos os circunflexos para cima / baixo / esquerda / direita e desmarque a seleção: Up/ Down/ Left/Right
  • Desfazer o último movimento de seleção: Ctrl+U
  • Adicionar a próxima ocorrência do texto selecionado à seleção: Ctrl+D
  • Adicione todas as ocorrências do texto selecionado à seleção: Alt+F3
  • Girar entre as ocorrências do texto selecionado (seleção única): Ctrl+ F3(reverso: Ctrl+ Shift+ F3)
  • Transforme uma única seleção linear em uma seleção de bloco, com um acento circunflexo no final do texto selecionado em cada linha: Ctrl+ Shift+L

Linux

  • Retorne ao modo de seleção única: Esc
  • Estenda a seleção para cima / para baixo em todos os circunflexos: Alt+ Up/ Down Observe que você também pode segurar Ctrlpara obter os mesmos atalhos do Windows, mas o Linux tende a usar combinações Ctrl + Alt para atalhos globais.
  • Estende a seleção para a esquerda / direita em todos os acentos circunflexos: Shift+ Left/Right
  • Mova todos os circunflexos para cima / baixo / esquerda / direita e desmarque a seleção: Up/ Down/ Left/Right
  • Desfazer o último movimento de seleção: Ctrl+U
  • Adicionar a próxima ocorrência do texto selecionado à seleção: Ctrl+D
  • Adicione todas as ocorrências do texto selecionado à seleção: Alt+F3
  • Girar entre as ocorrências do texto selecionado (seleção única): Ctrl+ F3(reverso: Ctrl+ Shift+ F3)
  • Transforme uma única seleção linear em uma seleção de bloco, com um acento circunflexo no final do texto selecionado em cada linha: Ctrl+ Shift+L

Mac OS X

  • Retornar ao modo de seleção única: (esse é o símbolo do Mac para Escape)
  • Estende a seleção para cima / baixo em todos os carets: ⌃⇧⇡, ⌃⇧⇣(ver nota)
  • Estenda a seleção para a esquerda / direita em todos os acentos circunflexos: ⇧⇠/⇧⇢
  • Mova todos carets up down Seleção / / esquerda / direita e clara: , , ,
  • Desfaça o último movimento de seleção: ⌘U
  • Adicionar a próxima ocorrência do texto selecionado à seleção: ⌘D
  • Adicione todas as ocorrências do texto selecionado à seleção: ⌃⌘G
  • Rodar entre ocorrências de texto seleccionado (selecção simples): ⌥⌘G(reverso: ⌥⇧⌘G)
  • Transforme uma única seleção linear em uma seleção de bloco, com um acento circunflexo no final do texto selecionado em cada linha: ⇧⌘L

Notas para usuários de Mac

Em Yosemite e El Capitan, ⌃⇧⇡e ⌃⇧⇣são atalhos de teclado do sistema por padrão. Se quiser que funcionem em Sublime Text, você precisará alterá-los:

  1. Aberto System Preferences.
  2. Selecione a Shortcutsguia.
  3. Selecione Mission Controlna caixa de listagem à esquerda.
  4. Altere os atalhos de teclado para Mission Controle Application windows(ou desative-os). Eu uso ⌃⌥⇡e ⌃⌥⇣. Os padrões são ⌃⇡e ⌃⇣; adicionar a esses atalhos ativa as mesmas ações, mas retarda as animações.

Caso você não esteja familiarizado com os símbolos do teclado do Mac:

  • é a chave de escape
  • é a chave de controle
  • é a chave de opção
  • é a tecla shift
  • é a chave de comando
  • et al são as teclas de seta, conforme ilustrado
Zenexer
fonte
3
Vim aqui procurando o problema que, como diz @Zenexer, o Sublime bagunça a multisseleção quando a quebra de linha está ativada. Eu tenho isso o tempo todo: Selecione um bloco para recuo manual ( Altclique e arraste) - se a quebra de linha estiver ativada, as linhas serão danificadas ao recuá-las. É um bug conhecido? ⇧⌘Lparece ter um desempenho melhor.
Urs
Apenas perguntando, mas há uma maneira de remapear aqueles em preferências sublimes? Em caso afirmativo, quais são as opções JSON para isso? Não consigo encontrar documentação para isso.
Hans
13

Tente usar Ctrl e clique nos vários lugares em que deseja colocar os cursores. Ctrl-D é para múltiplas descobertas incrementais.

mswanberg
fonte
Isso é o que eu esperava encontrar. Ele está cmd + clickem um Mac para inserir vários cursores onde você quiser.
MuffinTheMan
3

Acho que usar o modo vintage funciona muito bem com multisseleção sublime.

Minhas teclas mais usadas seriam "w" para pular uma palavra, "^" e "$" para mover para o primeiro / último caractere da linha. Combinações como "2dw" (exclua as próximas duas palavras após o cursor) tornam o uso de multisseleção realmente poderoso.

Isso parece óbvio, mas realmente acelerou meu fluxo de trabalho, especialmente ao editar HTML.

ak5
fonte
O vim me faz sentir mais produtivo, mas não tenho certeza se estou realmente mais rápido com ele.
Zenexer
1

Usuários do Mac, deixe-me economizar tempo:

  • Cmd+ a: selecione as linhas que deseja colocar no cursor
  • Cmd+ Shift+ l: para criar o cursor
Cirilo
fonte