PowerShell e cmd: "normal" seleciona o modo de texto

22

Acho bastante irritante a dificuldade de copiar texto em ambientes apenas de texto: PowerShell e cmd. Como posso simplesmente selecionar linhas de texto, não blocos de texto? Como eles surgiram e pensaram que o bloco de texto é mais uma opção padrão para a seleção de texto?

Terminando o discurso retórico, existe uma maneira de ter um simples "selecionar texto, copiar texto" no Powershell ou cmd?

Por exemplo, se eu quiser selecionar MEU TEXTO aqui:

asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd MY
TEXT asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd a

e seleciono as duas linhas em bloco, recebo 'asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd MY \ nTEXT asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd asd a '(observe também o \ r \ n irritante) em vez do simples' MEU TEXTO '

pistacchio
fonte
você diz não selecionar um bloco, mas que tal selecionar um bloco clicando na extrema esquerda, empurrando o mouse para a extrema direita e arrastando para baixo, e então você está selecionando linhas.
Barlop 05/05
não, estou selecionando muito mais do que quero, por exemplo. veja edit
pistacchio 5/05
Certamente isso é uma duplicata, mas o raciocínio por trás da seleção de blocos, presumo, é porque muitos aplicativos DOS / CLI tradicionais têm TUIs baseadas em ASCII (por exemplo, Norton Commander ) que seriam impossíveis de selecionar texto usando a seleção que não é de bloco. No entanto, esse é um caso de uso bastante raro atualmente, portanto eles ainda devem ter pelo menos adicionado a opção para a seleção normal de texto.
Lèse majesté
mintty faz, mas afaik mintty é apenas para cygwin
barlop
na seleção de linha do Windows 10 é o padrão
phuclv

Respostas:

16

Você precisa usar a tecla modificadora enquanto seleciona para ativar o recurso.

Mantenha pressionado ALTe Left Mouse Buttonenquanto arrasta o mouse sobre o texto a ser selecionado.

Elijas
fonte
9
Você pode fazer a seleção de linha como padrão. 1. Vá para Propriedades do Power Shell (clique com o botão direito do mouse no título da janela e selecione "Propriedades") 2. Na primeira guia, marque a caixa "Ativar seleção de quebra automática de linha". 3. Mantenha ALTpressionado enquanto arrasta o mouse sobre o texto a ser selecionado. Fonte: Anonymous
Elijas
O exemplo acima não funciona no Windows 7, onde o PowerShell se comporta exatamente como cmd.exe.
RCross
@RCross Então, o modo de seleção 'normal' está ativado por padrão? O Windows 7 requer uma solução separada?
Elijas 23/02
Sim; embora eu não esteja ciente de nenhuma solução nativa.
RCross 28/02
1
Ok - existe uma solução viável, que é usar o PowerShell ISE em vez do terminal PowerShell. Tem sido um tempo desde que eu usei Windows 7 ;-)
RCross
3

Não há nenhuma maneira direta na janela do console da janela para fazer isso, mas você pode obter exatamente o comportamento desejado no console2, ele também possui muitos outros recursos que a janela padrão do console DEVE ter, mas não possui. Observe que isso não substitui o cmd.exe, mas sim a janela do console na qual o cmd.exe é executado. Você pode usar qualquer aplicativo de console como shell (como PowerShell, etc). Aqui está o link para ele

osirisgothra
fonte
Isso também parece bom: mridgers.github.io/clink
Eran Medan
1

No Windows 7, em vez de usar o Powershell.exe, use o Powershell ISE, que possui a seleção de linha ativada por padrão.

Se você deseja particularmente a seleção de blocos, mantenha pressionada a tecla ALT e use o botão esquerdo do mouse para reverter para o comportamento no estilo cmd.exe.

RCross
fonte