Skip to content

Edição com Múltiplos Cursores

O VMark suporta edição poderosa com múltiplos cursores nos modos WYSIWYG e Fonte, permitindo editar múltiplos locais simultaneamente.

Início Rápido

AçãoAtalho
Adicionar cursor na próxima correspondênciaMod + D
Pular correspondência, ir para a próximaMod + Shift + D
Adicionar cursores em todas as correspondênciasMod + Shift + L
Desfazer última adição de cursorAlt + Mod + Z
Adicionar cursor acimaMod + Alt + Cima
Adicionar cursor abaixoMod + Alt + Baixo
Adicionar/remover cursor com cliqueAlt + Clique
Colapsar para cursor únicoEscape

TIP

Mod = Cmd no macOS, Ctrl no Windows/Linux Alt = Option no macOS

Adicionando Cursores

Selecionar Próxima Ocorrência (Mod + D)

  1. Selecione uma palavra ou posicione o cursor em uma palavra
  2. Pressione Mod + D para adicionar um cursor na próxima ocorrência
  3. Pressione novamente para adicionar mais cursores
  4. Digite para editar todos os locais ao mesmo tempo
Exemplo: Para renomear uma variável count para total:
  1. Dê um duplo clique em count para selecioná-la
  2. Pressione Mod + D repetidamente para selecionar cada ocorrência
  3. Digite total — todas as ocorrências são atualizadas simultaneamente

Selecionar Todas as Ocorrências (Mod + Shift + L)

Selecione todas as ocorrências da palavra ou seleção atual de uma vez:

  1. Selecione uma palavra ou texto
  2. Pressione Mod + Shift + L
  3. Todas as ocorrências correspondentes no bloco atual são selecionadas
  4. Digite para substituir todas de uma vez

Alt + Clique

Segure Alt (Option no macOS) e clique para:

  • Adicionar um cursor nessa posição
  • Remover um cursor se já existir um ali

Isso é útil para posicionar cursores em posições arbitrárias que não são texto correspondente.

Pular Ocorrência (Mod + Shift + D)

Quando Mod + D seleciona uma correspondência que você não quer, pule-a:

  1. Pressione Mod + D para começar a adicionar correspondências
  2. Se a última correspondência for indesejada, pressione Mod + Shift + D para pulá-la
  3. A correspondência pulada é removida e a próxima é selecionada

Este é o equivalente de múltiplos cursores do "Encontrar Próximo" — permite escolher quais ocorrências editar.

Desfazer Suave (Alt + Mod + Z)

Desfaça a última adição de cursor sem perder todos os seus cursores:

  1. Pressione Mod + D várias vezes para acumular cursores
  2. Se você adicionou um a mais, pressione Alt + Mod + Z
  3. O cursor adicionado por último é removido, restaurando o estado anterior

Ao contrário do Escape (que colapsa tudo), o desfazer suave recua um cursor por vez.

Adicionar Cursor Acima / Abaixo (Mod + Alt + Cima/Baixo)

Adicione cursores verticalmente, uma linha por vez:

  1. Posicione o cursor em uma linha
  2. Pressione Mod + Alt + Baixo para adicionar um cursor na próxima linha
  3. Pressione novamente para continuar adicionando cursores para baixo
  4. Use Mod + Alt + Cima para adicionar cursores para cima

Isso é ideal para editar texto alinhado em colunas ou fazer a mesma edição em linhas consecutivas.

Editando com Múltiplos Cursores

Uma vez que você tenha múltiplos cursores, toda a edição padrão funciona em cada cursor:

Digitação

  • Os caracteres são inseridos em todas as posições do cursor
  • As seleções são substituídas em todas as posições

Exclusão

  • Backspace — exclui o caractere antes de cada cursor
  • Delete — exclui o caractere após cada cursor
  • Teclas de seta — movem todos os cursores juntos
  • Shift + Seta — estendem a seleção em cada cursor
  • Mod + Seta — saltam por palavra/linha em cada cursor

Escape por Tab

O escape por Tab funciona independentemente para cada cursor:

  • Cursores dentro de negrito, itálico, código ou tachado saltam para o final da formatação
  • Cursores dentro de links escapam do link
  • Cursores antes de parênteses de fechamento ) ] } saltam sobre eles
  • Cursores em texto simples permanecem no lugar

Isso permite que você escape de múltiplas regiões formatadas simultaneamente. Veja Navegação Inteligente com Tab para detalhes.

Área de Transferência

Copiar (Mod + C):

  • Copia texto de todas as seleções, unidas por novas linhas

Colar (Mod + V):

  • Se a área de transferência tiver o mesmo número de linhas que cursores, cada linha vai para cada cursor
  • Caso contrário, o conteúdo completo da área de transferência é colado em todos os cursores

Escopo de Bloco

As operações de múltiplos cursores têm escopo no bloco atual para evitar edições não intencionais em seções não relacionadas.

No Modo WYSIWYG

  • Os cursores não podem cruzar os limites dos blocos de código
  • Se o cursor principal estiver dentro de um bloco de código, os novos cursores permanecem dentro desse bloco

No Modo Fonte

  • Linhas em branco atuam como limites de bloco
  • Mod + D e Mod + Shift + L só correspondem dentro do parágrafo atual
Por que o escopo de bloco?

Isso evita editar acidentalmente um nome de variável em seções de código não relacionadas ou alterar texto em parágrafos diferentes que por acaso correspondem.

Colapsando Cursores

Pressione Escape para colapsar de volta para um único cursor na posição principal.

Feedback Visual

  • Cursor principal — cursor piscante padrão
  • Cursores secundários — cursores piscantes adicionais com estilo distinto
  • Seleções — a seleção de cada cursor é destacada

No modo escuro, as cores do cursor e da seleção se ajustam automaticamente para visibilidade.

Comparação de Modos

RecursoWYSIWYGFonte
Mod + D
Mod + Shift + D (Pular)
Mod + Shift + L
Alt + Mod + Z (Desfazer Suave)
Mod + Alt + Cima/Baixo
Alt + Clique
Escopo de blocoDelimitadores de códigoLinhas em branco
Pesquisa com retorno

Dicas e Melhores Práticas

Renomeando Variáveis

  1. Dê um duplo clique no nome da variável
  2. Mod + Shift + L para selecionar todas no bloco
  3. Digite o novo nome

Adicionando Prefixos/Sufixos

  1. Posicione o cursor antes/depois do texto repetido
  2. Mod + D para adicionar cursores em cada ocorrência
  3. Digite o prefixo ou sufixo

Editando Itens de Lista

  1. Selecione o padrão comum (como - no início das linhas)
  2. Mod + Shift + L para selecionar todos
  3. Edite todos os itens da lista ao mesmo tempo

Quando Usar Cada Atalho

CenárioMelhor Atalho
Seleção cuidadosa e incrementalMod + D
Pular correspondência indesejadaMod + Shift + D
Substituir todos no blocoMod + Shift + L
Desfazer último passo do cursorAlt + Mod + Z
Editar linhas consecutivasMod + Alt + Cima/Baixo
Posições arbitráriasAlt + Clique
Saída rápidaEscape

Limitações

  • Nós atômicos: Não é possível posicionar cursores dentro de imagens, conteúdo embutido ou blocos matemáticos no modo WYSIWYG
  • Entrada IME: Ao usar métodos de entrada (Chinês, Japonês, etc.), a composição afeta apenas o cursor principal
  • Em todo o documento: As seleções têm escopo em blocos, não no documento inteiro

Referência de Teclado

AçãoAtalho
Selecionar próxima ocorrênciaMod + D
Pular ocorrênciaMod + Shift + D
Selecionar todas as ocorrênciasMod + Shift + L
Desfazer cursor suaveAlt + Mod + Z
Adicionar cursor acimaMod + Alt + Cima
Adicionar cursor abaixoMod + Alt + Baixo
Adicionar/remover cursorAlt + Clique
Colapsar para cursor únicoEscape
Mover todos os cursoresTeclas de seta
Estender todas as seleçõesShift + Seta
Saltar por palavraAlt + Seta
Saltar por linhaMod + Seta