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ção | Atalho |
|---|---|
| Adicionar cursor na próxima correspondência | Mod + D |
| Pular correspondência, ir para a próxima | Mod + Shift + D |
| Adicionar cursores em todas as correspondências | Mod + Shift + L |
| Adicionar cursores em todas as correspondências do bloco atual | Alt + Mod + Shift + L |
| Desfazer última adição de cursor | Alt + Mod + Z |
| Adicionar cursor acima | Mod + Alt + Cima |
| Adicionar cursor abaixo | Mod + Alt + Baixo |
| Adicionar/remover cursor com clique | Alt + Clique |
| Colapsar para cursor único | Escape |
TIP
Mod = Cmd no macOS, Ctrl no Windows/Linux Alt = Option no macOS
Adicionando Cursores
Selecionar Próxima Ocorrência (Mod + D)
- Selecione uma palavra ou posicione o cursor em uma palavra
- Pressione
Mod + Dpara adicionar um cursor na próxima ocorrência - Pressione novamente para adicionar mais cursores
- Digite para editar todos os locais ao mesmo tempo
count para total: - Dê um duplo clique em
countpara selecioná-la - Pressione
Mod + Drepetidamente para selecionar cada ocorrência - 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:
- Selecione uma palavra ou texto
- Pressione
Mod + Shift + L - 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)
- 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:
- Pressione
Mod + Dpara começar a adicionar correspondências - Se a última correspondência for indesejada, pressione
Mod + Shift + Dpara pulá-la - 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:
- Pressione
Mod + Dvárias vezes para acumular cursores - Se você adicionou um a mais, pressione
Alt + Mod + Z - 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:
- Posicione o cursor em uma linha
- Pressione
Mod + Alt + Baixopara adicionar um cursor na próxima linha - Pressione novamente para continuar adicionando cursores para baixo
- Use
Mod + Alt + Cimapara 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
Navegação
- 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ódigooutachadosaltam 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.
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
| Recurso | WYSIWYG | Fonte |
|---|---|---|
Mod + D | ✓ | ✓ |
Mod + Shift + D (Pular) | ✓ | ✓ |
Mod + Shift + L | ✓ | ✓ |
Alt + Mod + Z (Desfazer Suave) | ✓ | ✓ |
Mod + Alt + Cima/Baixo | ✓ | ✓ |
Alt + Clique | ✓ | ✓ |
| Escopo de delimitador | Blocos de código | Blocos de código delimitados |
| Selecionar tudo restrito ao bloco | Alt + Mod + Shift + L | Alt + Mod + Shift + L |
| Pesquisa com retorno | ✓ | ✓ |
Dicas e Melhores Práticas
Renomeando Variáveis
- Dê um duplo clique no nome da variável
Alt + Mod + Shift + Lpara selecionar todas as correspondências neste bloco (ouMod + Shift + Lpara o documento inteiro)- Digite o novo nome
Adicionando Prefixos/Sufixos
- Posicione o cursor antes/depois do texto repetido
Mod + Dpara adicionar cursores em cada ocorrência- Digite o prefixo ou sufixo
Editando Itens de Lista
- Selecione o padrão comum (como
-no início das linhas) Mod + Shift + Lpara selecionar todos- Edite todos os itens da lista ao mesmo tempo
Quando Usar Cada Atalho
| Cenário | Melhor Atalho |
|---|---|
| Seleção cuidadosa e incremental | Mod + D |
| Pular correspondência indesejada | Mod + Shift + D |
| Substituir todos no bloco atual | Alt + Mod + Shift + L |
| Substituir todos no documento | Mod + Shift + L |
| Desfazer último passo do cursor | Alt + Mod + Z |
| Editar linhas consecutivas | Mod + Alt + Cima/Baixo |
| Posições arbitrárias | Alt + Clique |
| Saída rápida | Escape |
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ção | Atalho |
|---|---|
| Selecionar próxima ocorrência | Mod + D |
| Pular ocorrência | Mod + Shift + D |
| Selecionar todas as ocorrências | Mod + Shift + L |
| Desfazer cursor suave | Alt + Mod + Z |
| Adicionar cursor acima | Mod + Alt + Cima |
| Adicionar cursor abaixo | Mod + Alt + Baixo |
| Adicionar/remover cursor | Alt + Clique |
| Colapsar para cursor único | Escape |
| Mover todos os cursores | Teclas de seta |
| Estender todas as seleções | Shift + Seta |
| Saltar por palavra | Alt + Seta |
| Saltar por linha | Mod + Seta |