Seleção de texto no Terminal do Windows

A seleção de texto é simples no Terminal Windows, mas o terminal oferece muitos recursos adicionais que tornam a seleção de texto ainda melhor.

Suporte para mouse

Clique com o botão esquerdo e arraste o mouse para criar uma seleção. O clique duplo expande a seleção por palavra, enquanto o clique triplo se expande por linha.

Se você segurar a tecla Alt , criará uma seleção de bloco (em oposição a uma seleção de linha). As seleções de blocos criam uma região retangular que não se enrola até o final da linha.

Se você segurar a tecla Shift , poderá expandir explicitamente a seleção para um ponto específico no terminal sem a necessidade de clicar e arrastar.

Depois de ter uma seleção, você tem algumas opções. Um único clique esquerdo limpa a sua seleção. Se pretender utilizar a seleção, pode clicar com o botão direito do rato para copiar o texto selecionado para a área de transferência e limpar a seleção. Ao clicar novamente com o botão direito do rato, o conteúdo da área de transferência é colado no terminal.

Observação

O Terminal do Windows suporta a entrada do mouse em aplicativos WSL (Windows Subsystem for Linux), bem como aplicativos do Windows que usam entrada de terminal virtual (VT). Esse suporte significa que aplicativos como tmux e Midnight Commander reconhecem quando você seleciona itens na janela do terminal. Se um aplicativo estiver no modo de mouse, você pode manter pressionada a tecla Shift para fazer uma seleção em vez de enviar entrada VT.

Suporte de teclado

Você pode criar uma seleção usando as selectAll ações ou markMode . A selectAll ação seleciona todo o texto no buffer. A markMode ação alterna um modo especial onde uma seleção é criada na posição do cursor no terminal. Quando estiver no modo de marcação, você pode usar as seguintes ligações de teclas não configuráveis para mover o cursor:

Vinculação de chave Result
Teclas de seta Mover por caractere na direção especificada
Ctrl+Esquerda Mover para o início da palavra anterior ou existente
Ctrl+Direita Mover para o final da palavra seguinte ou existente
Casa Mover para o início da linha
Fim Mover para o fim da linha
Pgup Mover para cima por uma página (viewport)
Pgdn Mover para baixo por uma página (viewport)
Ctrl+Página Inicial Mover para o início do buffer
Ctrl+Fim Mover para o final do buffer
Entrar Copiar a seleção ativa

Quando estiver no modo de marcação, você pode usar Tab ou Shift+Tab para navegar até o hiperlink seguinte ou anterior no buffer. O Terminal do Windows pode detetar hiperlinks automaticamente se experimental.detectUrls estiver habilitado.

Independentemente de estar no modo de marcação, você pode expandir uma seleção existente usando as seguintes ligações de chave não configuráveis:

Vinculação de chave Result
Teclas Shift + Seta Expandir por caractere na direção especificada
Ctrl+Shift+Esquerda Expandir para o início da palavra anterior ou existente
Ctrl+Shift+Direita Expandir até o final da palavra seguinte ou existente
Shift+Início Expandir para o início da linha
Shift+Fim Expandir até ao fim da linha
Shift+Pgup Expandir para cima por uma página (viewport)
Shift+Pgdn Expandir para baixo por uma página (viewport)
Ctrl+Shift+Início Expandir para o início do buffer
Ctrl+Shift+Fim Expandir até o final do buffer

Use a toggleBlockSelection ação para transformar a seleção existente em uma seleção de bloco.

Qualquer seleção criada ou modificada usando o teclado também exibe marcadores de seleção para indicar qual extremidade da seleção está sendo movida ativamente. Você pode usar a switchSelectionEndpoint ação para começar a mover a outra extremidade da seleção.

Depois de ter uma seleção, você tem algumas opções. Você pode usar a tecla ESC para limpar a seleção. Como alternativa, a maioria das entradas de chave limpa a seleção e passa o evento de chave diretamente para o shell subjacente. Se quiser usar o texto selecionado, você pode usar a copy ação para copiá-lo para a área de transferência.

Copiar texto selecionado

Como mencionado anteriormente, você pode copiar o texto selecionado com um clique com o botão direito do mouse ou a copy ação. No entanto, você pode personalizar várias configurações para copiar texto:

  • Copiar texto formatado
    • Use a configuração global copyFormatting para copiar também a formatação do texto selecionado para a área de transferência. Essa configuração permite copiar as informações de fonte do terminal, como cor do primeiro plano, cor do plano de fundo e fonte.
    • Se pretender limitar a cópia da formatação a determinadas ligações de teclas ou comandos, modifique o copyFormatting parâmetro na copy ação.
  • Copiar sem descartar a seleção de texto
    • Defina o parâmetro dismissSelection na ação copy para false para copiar texto sem desfazer a seleção de texto.
  • Copiar como uma única linha
    • Use o singleLine parâmetro na copy ação para copiar texto como uma única linha.
  • Cópia com sequências de controlo
    • Use o withControlSequences parâmetro na copy ação para incluir sequências de controle de código de escape ANSI no texto copiado.
  • Removendo espaços em branco à direita das seleções de blocos
    • Utilize a configuração global trimBlockSelection para remover o espaço em branco final de uma seleção de bloco.

Use a copyOnSelect configuração global para copiar automaticamente o texto recém-selecionado para a área de transferência. Com essa configuração ativada, se uma seleção estiver presente, clicar com o botão direito do mouse no terminal copia e cola o texto selecionado no terminal.

Observação

Se ativar copyOnSelect, modificar a seleção usando o teclado não copiará automaticamente o novo texto selecionado. Você precisa copiar manualmente o texto usando a copy ação ou clicando com o botão direito do rato no terminal.

Personalizando a aparência das seleções

Os esquemas de cores permitem personalizar a cor de seleção usando a selectionBackground propriedade em um esquema de cores. Alternativamente, é possível substituir a cor de seleção de um perfil específico, utilizando a configuração do perfil selectionBackground.

Personalizando delimitadores de palavras

Como mencionado anteriormente, clicar duas vezes e usar as teclas Ctrl+Shift + Seta (ou Ctrl + Setas quando estiver no modo de marcação) permite que você navegue por palavra. No entanto, as palavras podem ser separadas por mais do que apenas espaços em branco. Você pode personalizar esses limites de palavras usando a wordDelimiters configuração global.