Czy ktoś znalazł (np. Bash) terminal powłoki dla systemu Windows tak dobry jak OS X?


14

Najczęściej używam „git-bash”, który został dostarczony z instalacją Git vcs w systemie Windows. Myślę, że to ten sam, który pochodzi z Cygwin. Działa dobrze technicznie, ale interfejs użytkownika jest do bani:

  • kliknij prawym przyciskiem myszy pasek tytułu i przejdź do Właściwości, aby zmienić szerokość okna
  • najbardziej denerwujące ... kopiowanie, wklejanie i wyróżnianie za pomocą myszy jest równie kłopotliwe

Natomiast aplikacja Terminal dostarczana z systemem OS X zarządza nimi z aplombem i sprawia, że ​​praca z nim jest o wiele wygodniejsza. Możesz nawet przeciągnąć i upuścić na nim plik, a kursor wklei się do niego!

Próbowałem też:

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

Żadne z nich nie kopiuje i wkleja tekstu bez uciążliwego kliknięcia prawym przyciskiem.

W szczególności szukam powłoki o unikalnym systemie Windows, więc nie muszę używać różnych powłok między moim domowym programistą (Windows), serwerem na żywo (Linux) lub deweloperem w biurze (Mac).

Tak, przejrzałem Google i jeszcze go nie znalazłem ...


3
Dla dowolnej konsoli Windows, w tym cygwin bash, możesz włączyć szybką edycję i jest to lepsze niż zachowanie domyślne. Ponieważ nie opisałeś, co sprawia ci kłopot, nie wiem, czy próbowałeś tego.
mfinni 10.01.11

Właściwie myślę, że Git-Bash działa na MSYS z MinGW, a nie Cygwin per se ... mimo to po zainstalowaniu każdego z nich osobno aplikacja powłoki dostarczana z Cygwin wydaje się być identyczna z tą w MSYS, która jest taka sama jak taki, który pochodzi z Git.
Anentropic

@mfinni dzięki, nie próbowałem trybu „szybkiej edycji”. Jednak nadal jest dość niezgrabny i nie można kopiować i wklejać tak łatwo, jak w normalnym programie ...
Anentropic

QuckEdit jest blisko kopiowania / wklejania PuTTY / X: zaznacz tekst i naciśnij Enter, aby skopiować, a następnie kliknij prawym przyciskiem myszy, aby wkleić.
DerfK,

Powinieneś być świadomy (nie jestem pewien, czy jesteś), że terminale i powłoki są różne i w dużej mierze niezależne od siebie.
Wstrzymano do odwołania.

Odpowiedzi:


10

Próbowałeś konsoli2 ?

Pozwala używać cmd, bash lub dowolnego programu jako powłoki i umożliwia zmianę rozmiaru w dowolnym kierunku.

Możesz ustawić Git Bash jako domyślny, przechodząc do Edycja-> Ustawienia, a następnie wklejając to w polu Powłoki:

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

Aby skopiować, przytrzymaj klawisz Shift, kliknij i przeciągnij lewym przyciskiem myszy, aby wybrać, a następnie kliknij lewym przyciskiem myszy, aby skopiować.

Wreszcie, Git jest dostarczany z rxvt. Możesz utworzyć nowy skrót do systemu Windows z polem docelowym ustawionym na:

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

Świetna wskazówka - próbowałem Console2, ale nie miałem pojęcia, że ​​mogę zmienić podstawową powłokę!
Anentropic

1
@Mikel, próbowałeś ConEmu?
Maximus

ConEmu jest godnym następcą Console2 i dużym ulepszeniem.
Charles Roper

6

[Przekazując mój komentarz jako odpowiedź na prośbę Anentropic.]

Jeśli używasz Cygwin i lubisz PuTTY, sprawdź mięty. Jest dostępny w kategorii Shells w programie instalacyjnym Cygwin (lub pobierz tutaj źródło ). Autor użył dużych części PuTTY, aby go utworzyć, więc zachowuje się bardzo podobnie do PuTTY. Można go skonfigurować tak, aby działał tak, jak chcesz:

  • Zmień rozmiar okna, przeciągając krawędzie lub rogi, jak w każdej innej aplikacji Windows. Spowoduje to zmianę rozmiaru terminala poprzez dodanie lub usunięcie wierszy i / lub kolumn, tak jak można oczekiwać od czegoś takiego jak xterm.
  • Kopiowanie / wklejanie można skonfigurować jako operacje jednym kliknięciem (np. Kliknięcie lewym przyciskiem, aby podświetlić i automatyczne kopiowanie, kliknięcie prawym przyciskiem, aby rozszerzyć, kliknięcie środkowym przyciskiem, aby wkleić).
  • Podobnie jak w przypadku OS X Terminal, przeciągnięcie pliku lub folderu do miętowego okna spowoduje wklejenie pełnej ścieżki w pozycji kursora.
  • Wszystkie dyski z systemem Windows są dostępne, domyślnie „zamontowane” w / cygdrive (chociaż zwykle zmieniam to na / mnt za pomocą mount -c /mnt).

Moim jedynym problemem z mintty jest to, że najnowsze wersje (0.9.4+) wydają się robić coś, czego nie lubi Windows 7 UAC, więc monituje o pozwolenie na uruchomienie go za każdym razem. Wydaje się, że powoduje to, że działa z różnymi uprawnieniami, więc rzeczy takie jak moje dyski sieciowe nie działają. Nie wiem jednak, czy to problem mięty, czy problem z moim systemem.


Nie mam tego problemu w systemie Windows 7, więc najprawdopodobniej jest to problem z twoim systemem. Popieram użycie Mintty, który obsługuje również wszystkie nowe, ładne skróty Windows do przenoszenia okien (klawisz Windows + strzałki)
Renik

To świetnie - czy wiesz, czy można wskazać, aby używał powłoki dostarczonej z Gitem (jak wskazówka @ Mikela dla Console2)?
Anentropic

Domyślnie mintty będzie wywoływać wszystko, na co $SHELLwskazuje zmienna środowiskowa. Możesz jednak zamiast tego podać inny program jako pierwszy argument w wierszu poleceń, co może być przydatne w skrótach. Autor opracował ładną listę wskazówek ( code.google.com/p/mintty/wiki/Tips ), które pokazują, jak możesz to zrobić.
James Sneeringer,

2

Przepraszam za autopromocję, jestem autorem innego emulatora konsoli.

ConEmu to emulator konsoli Windows z kartami, który przedstawia wiele konsol i proste aplikacje GUI jako jedno okno GUI z możliwością dostosowania i różnymi funkcjami.

Krótki fragment z długiej listy opcji:

  • Płynne zmiany rozmiaru, zmaksymalizowane i pełnoekranowe tryby okna
  • Przyjazny dla użytkownika wybór tekstu i bloków (z klawiatury lub myszy), kopiowanie, wklejanie, wyszukiwanie tekstu w konsoli
  • Uruchom wybrane karty jako Administrator (Vista +) lub jako wybrany użytkownik
  • Uruchamianie kilku powłok na siatce / podzielonym ekranie (najnowsza wersja dewelopera )
  • Użyj dowolnej czcionki zainstalowanej w systemie lub skopiowanej do folderu programu (ttf, otf, fon, bdf)
  • Listy skoków systemu Windows 7 i postępy na pasku zadań
  • Integracja z DosBox (przydatny w systemach 64-bitowych do uruchamiania aplikacji DOS)
  • Pasek przewijania początkowo ukryty, może zostać ujawniony poprzez najechanie myszką lub pole wyboru w ustawieniach
  • Opcjonalne ustawienia (np. Paleta) dla wybranych aplikacji
  • Kolor ANSI X3.64 i Xterm 256

Wpis Hanselmana , recenzje użytkowników , tag ConEmu na superuser.com


wygląda dobrze, +1 za zrzut ekranu Prince Of Persia :)
Anentropic

Czcionki
antyializowane

Posiada 3 opcje antyaliasingu: Brak, Standard i ClearType.
Charles Roper

0

Chciałbym, aby PuTTY mógł działać jako emulator lokalnego dostępu do systemu operacyjnego, tak jak robi to Cygwin. PuTTY jest moim ulubionym, gdy utknąłem na pudełku Windows. Głosowałem za tym pytaniem, chciałbym również wiedzieć o lepszym emulatorze dla systemu Windows.


1
Putty to program terminalowy, a nie powłoka. Nawet jeśli możesz użyć putty, aby połączyć się z lokalnym komputerem z systemem Windows (co możesz zrobić, jeśli jest uruchomiony demon SSH), rzeczywista powłoka jest nadal tą samą powłoką, z której korzystasz podczas logowania przez SSH.
mfinni 10.01.11

Nie powiedziałem, że to powłoka, powiedziałem, że chciałbym, żeby działał jak emulator. Lubię GUI na kitach, o to mi chodziło.
c1tadel1

3
Jeśli używasz Cygwin i lubisz PuTTY, sprawdź mięty. Jest dostępny w kategorii Shells w programie instalacyjnym Cygwin (lub sprawdź źródło na code.google.com/p/mintty ). Autor użył dużych części PuTTY, aby go utworzyć, więc zachowuje się bardzo podobnie do PuTTY.
James Sneeringer,

@James, czy chcesz opublikować swoją sugestię mięty jako odpowiedź? Wygląda obiecująco! Wydaje mi się, że utknąłem w wirtualnym systemie plików Unix firmy Cygwin. Nie mogę przeglądać plików Windows tak, jak w git-bash?
Anentropic

0

Dużym problemem z kopiowaniem i wklejaniem nie jest wina emulatorów terminali; same w sobie są kluczami.

Kiedy skróty zostały wynalezione na Macu, Apple dodał do nich nowy klucz: „klawisz polecenia” (znany również jako „ikona”) Nie ma odpowiednika ASCII.

Kilka lat później, kiedy Microsoft skopiował te same skróty, klawiatury PC nie miały żadnych „okien” ani klawiszy „menu”, więc poszły z innym, mało używanym klawiszem, który można trzymać za pomocą pinky: klawiszem Ctrl. Problem polega na tym, że Ctrl-C, Ctrl-V itp. Są poprawnymi kodami ASCII i są często używane w interfejsach wiersza poleceń.

Kiedy więc naciśniesz Ctrl-C na ternimalie Windows, czy powinien skopiować tekst, czy przerwać działające polecenie?


To dobra uwaga, nie zdawałem sobie sprawy, że OS X ma tam szczęście. Jest to jednak problem interfejsu użytkownika, którego obecne aplikacje terminalowe dla systemu Windows tak naprawdę nie próbowały rozwiązać.
Anentropic

0

Podobnie jak w przypadku prawie każdego oprogramowania Windows, którego dotknąłem, musiałem powtarzać kroki z niepewnością i podejściem brutalnej siły ...

Ale gdzieś tam udało mi się działać bez instalowania nowych konsol!

Postępowałem zgodnie z rozwiązaniem AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Mam go do pracy z git bash, wykonując następujące czynności

  • otwórz zwykły cmd,
  • wykonać wmic
  • zmień rozmiar (kliknij dwukrotnie pasek okna)
  • zamknij cmd
  • otwórz git bash
  • zmiana rozmiaru (nie działało ...)
  • unresize resize

Przypuszczam, że powinienem wyjaśnić: chodzi tu o umożliwienie pełnego ekranu - nic więcej.


0

Po prostu to wyrzucam, ponieważ nie zostało jeszcze wspomniane. Ale własny PowerShell MS jest naprawdę dobrym CLI dla Windows.

Ma pewne cechy podobne do Bash, które powinny sprawić, że poczuje się trochę znajomo. Moim zdaniem warto się nauczyć, jeśli wykonujesz jakiekolwiek skrypty lub automatyzację w systemie Windows, nawet jeśli jesteś przede wszystkim facetem * nix (takim jak ja). Będziesz w stanie zrobić więcej w krótszym czasie niż próba zhakowania razem czegoś, co działa na szczycie Cygwina.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.