Alguém encontrou um terminal shell (por exemplo, bash) para Windows tão bom quanto o OS X?

14

Estou usando principalmente 'git-bash', que veio com a instalação do Git vcs no Windows. Eu acho que é o mesmo que vem com Cygwin. Funciona bem tecnicamente, mas a interface do usuário é péssima:

  • clique com o botão direito do mouse na barra de título e vá em Propriedades para alterar a largura da janela
  • mais irritantemente ... copiar e colar e destacar com o mouse são igualmente pesados

Por outro lado, o aplicativo Terminal que acompanha o OS X os gerencia com tranquilidade e torna muito mais confortável trabalhar com ele. Você pode até arrastar e soltar um arquivo nele e ele colará o caminho do arquivo no seu cursor!

Eu também tentei:

  • http://sourceforge.net/projects/win-bash
  • http://www.steve.org.uk/Software/bash/
  • http://www.hamiltonlabs.com/cshell.htm

Nenhuma delas copia e cola texto sem clicar com o botão direito do mouse.

Estou procurando especificamente um shell com sabor Unix no Windows para não precisar usar diferentes shell entre meu desenvolvedor doméstico (Windows), o servidor ativo (Linux) ou o desenvolvedor no escritório (Mac).

Sim, pesquisei no Google e ainda não encontrei um ...

Anentrópico
fonte
3
Para qualquer console no Windows, incluindo o cygwin bash, você pode ativar a edição rápida e é melhor que o comportamento padrão. Como você não descreveu o que está achando complicado, não sei se você tentou isso.
mfinni
Na verdade, eu acho que o Git-Bash roda no MSYS do MinGW em vez do Cygwin em si ... apesar de ter acabado de instalar cada um deles separadamente, o aplicativo shell que acompanha o Cygwin parece ser idêntico ao do MSYS, que é o mesmo que o um que vem com o Git.
Anentropic
@mfinni obrigado, eu não tinha tentado o modo 'edição rápida'. No entanto, ainda é muito desajeitado e você não pode fazer copiar e colar tão facilmente como em um programa normal ...
Anentropic
O QuckEdit está perto de copiar / colar do PuTTY / X: destaque o texto e pressione Enter para copiar, depois clique com o botão direito do mouse para colar.
DerfK 10/01
Você deve estar ciente (não sei ao certo se está) que os terminais e as conchas são distintos e amplamente independentes entre si.
Pausado até novo aviso.

Respostas:

10

Você já tentou o console2 ?

Ele permite que você use cmd, bash ou qualquer programa como shell e permite redimensionar em qualquer direção.

Você pode torná-lo padrão para o Git Bash, vá em Editar-> Configurações e cole-o no campo Shell:

"C:\Program Files\Git\bin\sh.exe" --login -i"

Para copiar, mantenha pressionada a tecla Shift, clique e arraste com o botão esquerdo do mouse para selecionar e, em seguida, clique com o botão esquerdo em Copiar.

Finalmente, o Git é enviado com o rxvt. Você pode criar um novo atalho do Windows com o campo Destino definido como:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i
Mikel
fonte
Ótima dica - eu havia tentado o Console2, mas não fazia ideia de que poderia alterar o shell subjacente!
Anentropic
1
@ Mikel, você já tentou o ConEmu?
Maximus
ConEmu é um sucessor digno do Console2 e uma grande melhoria.
Charles Roper
6

[Reposicionando meu comentário como resposta a pedido da Anentropic.]

Se você usa o Cygwin e gosta do PuTTY, confira o mintty. Está disponível na categoria Shells no programa de instalação do Cygwin (ou obtenha a fonte aqui ). O autor usou grandes partes do PuTTY para criá-lo, por isso se comporta muito como o PuTTY. Ele pode ser configurado para funcionar como você deseja:

  • Redimensione a janela arrastando as bordas ou os cantos, como qualquer outro aplicativo do Windows. Isso redimensionará o terminal adicionando ou removendo linhas e / ou colunas, como seria de esperar de algo como o xterm.
  • Copiar / colar pode ser configurado como operações de clique único (por exemplo, clique esquerdo para destacar e copiar automaticamente, clique direito para estender, clique médio para colar).
  • Como no OS X Terminal, arrastar um arquivo ou pasta para uma janela mintty colará o caminho completo na posição do cursor.
  • Todas as unidades do Windows estão disponíveis, "montadas" por padrão em / cygdrive (embora eu normalmente mude isso para / mnt com mount -c /mnt).

Meu único problema com o mintty é que as versões recentes (0.9.4+) parecem estar fazendo algo que o UAC do Windows 7 não gosta, por isso solicita permissão para executá-lo sempre. Isso parece fazer com que ele seja executado com privilégios diferentes, para que coisas como minhas unidades de rede não funcionem. Eu não sei se isso é um problema complicado, ou um problema com o meu sistema.

James Sneeringer
fonte
Não tenho esse problema no Windows 7, portanto é mais provável que seja um problema com o seu sistema. Eu segundo o uso de Mintty que também suporta todos aqueles agradáveis novos atalhos do Windows para mudar as janelas de (tecla Windows + setas)
Renik
Isso é ótimo - você sabe se é possível apontar para usar o shell que acompanha o Git (como a dica de @ Mikel para o Console2)?
Anentropic
Por padrão, o mintty chamará o que sua $SHELLvariável de ambiente apontar. No entanto, você pode especificar outro programa como o primeiro argumento na linha de comando, o que pode ser útil nos atalhos. O autor reuniu uma boa lista de dicas ( code.google.com/p/mintty/wiki/Tips ) que mostram como você pode fazer isso.
James Sneeringer
2

Desculpe pela autopromoção, sou o autor de outro emulador de console.

O ConEmu é um emulador de console do Windows com guias, que apresenta vários consoles e aplicativos simples da GUI como uma janela personalizável da GUI com vários recursos.

Um breve trecho da longa lista de opções:

  • Modos de redimensionamento suave, maximizados e de tela cheia
  • Seleção amigável de texto e bloco (do teclado ou mouse), copiar, colar, pesquisa de texto no console
  • Execute as guias selecionadas como Administrador (Vista +) ou como usuário selecionado
  • Executando vários shells em uma grade / tela dividida (última versão do desenvolvedor)
  • Use qualquer fonte instalada no sistema ou copiada para uma pasta do programa (ttf, otf, fon, bdf)
  • Listas de atalhos do Windows 7 e progresso na barra de tarefas
  • Integração com DosBox (útil em sistemas de 64 bits para executar aplicativos DOS)
  • Barra de rolagem oculta inicialmente, pode ser revelada por mouseover ou caixa de seleção nas configurações
  • Configurações opcionais (por exemplo, paleta) para aplicações selecionadas
  • Cor ANSI X3.64 e Xterm 256

Publicações de Hanselman , opiniões de usuários , etiqueta ConEmu em superuser.com

Maximus
fonte
Parece bom, +1 para o Prince Of Persia imagem de tela :)
Anentropic
fontes suavizadas seria ainda melhor
Anentropic
Possui 3 opções para antialiasing: None, Standard e ClearType.
Charles Roper
0

Eu gostaria que o PuTTY fosse capaz de funcionar como um emulador para acesso local ao sistema operacional, como o Cygwin. PuTTY é o meu favorito quando estou preso em uma caixa do Windows. Votei esta questão, gostaria de saber sobre um emulador melhor para Windows também.

c1tadel1
fonte
1
Putty é um programa terminal, não um shell. Mesmo se você pudesse usar o putty para conectar-se à sua caixa local do Windows (que pode ser executada se você estiver executando um daemon SSH), o shell real ainda será o shell que você estiver executando quando efetuar login via SSH.
mfinni
Eu não disse que era uma concha, eu disse que queria que funcionasse como um emulador. Eu gosto da GUI na massa, esse foi o meu ponto.
C1tadel1
3
Se você usa o Cygwin e gosta do PuTTY, confira o mintty. Está disponível na categoria Shells no programa de configuração Cygwin (ou verifique a fonte em code.google.com/p/mintty ). O autor usou grandes partes do PuTTY para criá-lo, por isso se comporta muito como o PuTTY.
James Sneeringer
@ James, você deseja postar sua sugestão de menta como resposta? Parece promissor! Parece que estou preso no sistema de arquivos virtual unix da Cygwin, mas não consigo navegar nos meus arquivos do Windows como no git-bash?
Anentropic
0

O grande problema com copiar e colar não é culpa dos emuladores de terminal; é a combinação de teclas.

Quando os atalhos foram inventados no Mac, a Apple adicionou uma nova chave para eles: a 'chave de comando' (também conhecida como 'splat'). Não possui um equivalente ASCII.

Alguns anos depois, quando a Microsoft copiou os mesmos atalhos, os teclados de PC não tinham teclas de 'janelas' ou 'menu'; então, eles foram com outra tecla pouco usada que você pode segurar com o mindinho: a tecla Ctrl. O problema é que Ctrl-C, Ctrl-V etc. são códigos ASCII válidos e muito usados ​​em interfaces de linha de comando.

Então, quando você pressiona Ctrl-C em um ternimal do Windows, ele deve copiar o texto ou interromper o comando em execução?

Javier
fonte
Esse é um bom ponto, eu não tinha percebido que o OS X tinha uma vantagem de sorte lá. Ainda assim, esse é um problema de interface do usuário que os aplicativos de terminal atuais para Windows realmente não tentaram resolver.
Anentropic
0

Como é o caso de quase todos os softwares do Windows que toquei, tive que repetir etapas com incerteza e uma abordagem de força bruta ...

Mas em algum lugar lá eu consegui funcionar sem instalar novos consoles!

Segui a solução do AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Consegui que funcionasse com o git bash, fazendo o seguinte

  • abra um cmd regular,
  • executar wmic
  • redimensionar (clique duas vezes na barra da janela)
  • cmd próximo
  • abrir git bash
  • redimensionar (não funcionou ...)
  • redimensionar redimensionar

Suponho que devo esclarecer: isso é especificamente para permitir tela cheia - nada mais.

blackstrype
fonte
0

Apenas jogando isso fora, pois ainda não foi mencionado. Mas o PowerShell da própria Microsoft é realmente uma boa CLI para Windows.

Possui alguns recursos semelhantes ao Bash que devem fazer com que pareça um pouco familiar. Na minha opinião, vale a pena aprender se você faz algum tipo de script ou automação com o Windows, mesmo se você é principalmente um cara * nix (como eu). Você poderá fazer mais em menos tempo, em comparação com a tentativa de hackear algo que roda no topo do Cygwin.

jamieb
fonte