Edição avançada de linha de comando para Windows?

5

Sou desenvolvedor que "nasceu e cresceu" em sistemas Linux e BSD, e me acostumei a ter ferramentas avançadas para o console (posix shells like bash, por exemplo). Minha carreira deu uma reviravolta, o que significa que estou trabalhando em um ambiente Windows a maior parte do tempo, e os recursos do console são realmente ruins em comparação. O tradicional ambiente de console do Windows é uma piada completa, e mesmo a maioria das tentativas de terceiros de melhorar as coisas não é muito melhor. O PowerShell é um grande passo na direção certa, mas os próprios aplicativos de console ainda estão muito atrás de onde o unix está há 20 anos.

Alguém sabe de um aplicativo de console do PowerShell que suporta edição de linha de comando avançada, como shells posix? Estou particularmente interessado na edição do modo emacs e também gostaria de poder redimensionar minha janela para um tamanho arbitrário, ao contrário do aplicativo de console nativo que vem com o Windows.

    
por Ben Collins 06.11.2009 / 05:18

6 respostas

1

Depois de todo esse tempo, finalmente encontrei uma solução que gosto: ConEmu + Clink. E não apenas ConEmu, mas configuração ConEmu de Ethan Brown :

IssopodeserinstaladoatravésdoChocolatey.Eurecomendoestaconfiguração;ConEmuéótimo,masconfigurá-loparaalgoquepareceboméumatarefaárdua.Vejacomovocêinstala

PS>chocoinstallEthanBrown.ConEmuConfig

Alémdisso,observequetambémestouusandoo Clink , que fornece uma capacidade de edição de linha semelhante à linha de leitura GNU, que eu Estou desfrutando completamente. O Clink está disponível assim:

PS> choco install Clink

O instalador do Clink editará seu $profile para você injetá-lo no processo do host em execução.

    
por 21.08.2014 / 18:08
9

Não é exatamente o que você está pedindo, mas você considerou o Cygwin ? Você vai se sentir em casa.

Você também pode executar o PowerShell como um shell no emacs .

    
por 06.11.2009 / 05:21
3

Não é o emacs, mas o vim tem uma versão de console.

Não o usei no Windows, por isso não posso comentar sobre sua usabilidade.

Vim (versão para console)

Além disso, eles tornam o cmd um pouco mais agradável.

Console2
PowerCmd

    
por 06.11.2009 / 05:46
0

Existe PowerGui .

Minha impressão é que não há muitas alternativas para o PowerShell ISE integrado.

Com o VBScript, as pessoas costumavam escrever para mim a cada duas semanas com um novo Editor, mas com o PowerShell - sem ofertas.

    
por 06.11.2009 / 10:56
0

Você pode ajustar dinamicamente o tamanho da janela manipulando a propriedade $ host.ui.rawui.WindowSize.

Use uma função como esta no seu perfil

Function Set-WindowSize { 
Param([int]$x=$host.ui.rawui.windowsize.width, [int]$y=$host.ui.rawui.windowsize.heigth)

$size=New-Object System.Management.Automation.Host.Size($x,$y)
$host.ui.rawui.WindowSize=$size
}

Em seguida, chame a função:

Set-WindowSize 100 50

Você pode fazer muito do console, por exemplo, criando funções dinamicamente:

PS C:\> Function Try-Me {
>> write-host "Hello $env:username"
>> get-date
>> }
>>
PS C:\> try-me
Hello Jeff

Monday, November 09, 2009 1:08:13 PM

Os cmdlets do PowerShell também podem fazer muito mais. O que costumava usar um script de 20 linhas agora pode ser realizado com uma expressão PowerShell de uma linha. Finalmente, como o PowerShell é um shell baseado em objeto, você obterá muito mais de uma IDE de script como o PrimalScript, do que simplesmente editando texto no console.

    
por 09.11.2009 / 18:37
0

O melhor que você pode obter é se você instalar o ConEmu e clicar ou sair da rota do Cygwin.

BTW. Eu gosto de como você chama o cmd.exe de piada e estar a mais de 20 anos atrás do Linux - eu me sinto da mesma maneira e realmente penso em mudar para o Linux para uma ótima experiência de console e scripts, além de todos os IDEs e ferramentas favoritos (WebStorm, PyCharm, Vim, python, nodejs, Firefox, etc) as únicas coisas que eu vou sentir falta são Total Commander e AutoHotKey.

    
por 21.08.2014 / 16:51