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
Adicionar cursores em todas as correspondências do bloco atualAlt + Mod + 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 documento são selecionadas — ou, dentro de um bloco de código, todas as correspondências nesse bloco (veja Escopo)
  4. Digite para substituir todas de uma vez

Para ficar dentro do parágrafo, título ou item de lista em que você está, use Alt + Mod + Shift + L.

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 ​

O código tem escopo; a prosa não. Dentro de um bloco de código (WYSIWYG) ou de um bloco delimitado (Fonte), os cursores nunca atravessam o delimitador — encontrar um nome de variável em um trecho de código não pode posicionar um cursor em outro. Na prosa comum, Mod + D e Mod + Shift + L pesquisam o documento inteiro.

Geralmente é isso que você quer, mas às vezes não: em um documento longo, buscar uma palavra comum posiciona cursores em parágrafos muito fora da tela.

Selecionar Todas as Ocorrências no Bloco ​

Alt + Mod + Shift + L seleciona todas as correspondências apenas dentro do bloco atual — o parágrafo, título ou item de lista em que o cursor está. No modo Fonte, linhas em branco delimitam o bloco; no WYSIWYG, o bloco que o envolve o delimita. Dentro de um bloco de código delimitado, ele se comporta exatamente como Mod + Shift + L, já que o bloco delimitado já é o bloco.

Os dois são atalhos irmãos, não um modo: Mod + Shift + L continua alcançando o documento inteiro, então nada daquilo em que você já confia muda.

Qual usar?

Use a versão restrita ao bloco quando a palavra for comum — ao renomear uma variável mencionada na prosa ou ao editar o padrão de um item de lista. Use a versão para o documento inteiro quando você realmente quer dizer em todo lugar.

Colapsando Cursores ​

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

Estabilidade do cursor

Cursores colapsados permanecem estáveis quando o texto é inserido na posição do cursor. Eles não se expandirão inesperadamente em seleções após inserções mapeadas (corrigido na v0.6.x).

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 delimitadorBlocos de códigoBlocos de código delimitados
Selecionar tudo restrito ao blocoAlt + Mod + Shift + LAlt + Mod + Shift + L
Pesquisa com retorno✓✓

Dicas e Melhores Práticas ​

Renomeando Variáveis ​

  1. Dê um duplo clique no nome da variável
  2. Alt + Mod + Shift + L para selecionar todas as correspondências neste bloco (ou Mod + Shift + L para o documento inteiro)
  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 bloco atualAlt + Mod + Shift + L
Substituir todos no documentoMod + 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
  • Blocos de código: Dentro de um bloco de código (WYSIWYG) ou bloco delimitado (Fonte), a busca de ocorrências nunca sai desse bloco

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