Hat jemand ein (zB bash) Shell-Terminal für Windows gefunden, das so gut ist wie das für OS X?

14

Ich verwende hauptsächlich 'git-bash', das mit der Windows-Installation von Git vcs geliefert wurde. Ich denke, es ist dasselbe, das mit Cygwin geliefert wird. Technisch funktioniert es einwandfrei, aber die Benutzeroberfläche ist nicht gut:

  • Klicken Sie mit der rechten Maustaste auf die Titelleiste und wählen Sie Eigenschaften, um die Fensterbreite zu ändern
  • am ärgerlichsten ... Kopieren und Einfügen und Hervorheben mit der Maus sind gleichermaßen umständlich

Im Gegensatz dazu verwaltet die mit OS X gelieferte Terminal-App diese mit Souveränität und macht das Arbeiten so viel komfortabler. Sie können sogar eine Datei darauf ziehen und ablegen, und der Dateipfad wird an Ihrem Cursor eingefügt!

Ich habe auch versucht:

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

Keines dieser Programme kopiert und fügt Text ohne umständliches Klicken mit der rechten Maustaste ein.

Ich bin speziell auf der Suche nach einer Unix-Shell unter Windows, damit ich keine unterschiedlichen Shells zwischen meinem Heim-Entwickler (Windows), dem Live-Server (Linux) oder dem Entwickler im Büro (Mac) verwenden muss.

Ja, ich habe gegoogelt und noch keinen gefunden ...

Anentropisch
quelle
3
Für jede Konsole in Windows, einschließlich Cygwin Bash, können Sie die Schnellbearbeitung aktivieren. Sie ist besser als das Standardverhalten. Da Sie nicht beschrieben haben, was Sie als umständlich empfinden, weiß ich nicht, ob Sie das versucht haben.
mfinni
Eigentlich denke ich, dass Git-Bash auf MSYS von MinGW aus läuft und nicht von Cygwin an sich. Trotzdem scheint die Shell-App, die mit Cygwin geliefert wird, mit der in MSYS identisch zu sein eine, die mit Git kommt.
Anentropic
@mfinni danke, ich hatte nicht versucht, "Quick Edit" -Modus. Es ist jedoch immer noch ziemlich klobig und Sie können nicht so einfach kopieren und einfügen wie in einem normalen Programm ...
Anentropic
QuckEdit befindet sich in der Nähe von PuTTY / Xs Kopieren / Einfügen: Markieren Sie Text und drücken Sie die Eingabetaste, um ihn zu kopieren. Klicken Sie dann mit der rechten Maustaste, um ihn einzufügen.
DerfK
Sie sollten sich bewusst sein (ich kann nicht genau sagen, ob Sie es sind), dass Terminals und Shells unterschiedlich und weitgehend unabhängig voneinander sind.
Bis auf weiteres angehalten.

Antworten:

10

Hast du console2 ausprobiert ?

Sie können cmd, bash oder ein beliebiges Programm als Shell verwenden und die Größe in eine beliebige Richtung ändern.

Sie können Git Bash als Standard festlegen, indem Sie unter Bearbeiten-> Einstellungen Folgendes in das Feld Shell einfügen:

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

Zum Kopieren halten Sie die Umschalttaste gedrückt, klicken und ziehen Sie mit der linken Maustaste, um auszuwählen, und klicken Sie dann mit der linken Maustaste, um zu kopieren.

Schließlich wird Git mit rxvt ausgeliefert. Sie können eine neue Windows-Verknüpfung mit dem Zielfeld erstellen, das auf Folgendes festgelegt ist:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i
Mikel
quelle
Toller Tipp - ich hatte Console2 ausprobiert, aber keine Ahnung, dass ich die zugrunde liegende Shell ändern könnte!
Anentropic
1
@Mikel, hast du ConEmu ausprobiert?
Maximus
ConEmu ist ein würdiger Nachfolger von Console2 und eine große Verbesserung.
Charles Roper
6

[Mein Kommentar wird auf Anfrage von Anentropic als Antwort erneut veröffentlicht.]

Wenn Sie Cygwin verwenden und PuTTY mögen, schauen Sie sich mintty an. Es ist in der Kategorie Shells im Cygwin-Setup-Programm verfügbar (oder erhalten Sie den Quellcode hier ). Der Autor verwendete große Teile von PuTTY, um es zu erstellen, so dass es sich sehr ähnlich wie PuTTY verhält. Es kann so konfiguriert werden, dass es so funktioniert, wie Sie es möchten:

  • Ändern Sie die Größe des Fensters, indem Sie wie bei jeder anderen Windows-App an den Kanten oder Ecken ziehen. Dadurch wird die Größe des Terminals geändert, indem Zeilen und / oder Spalten hinzugefügt oder entfernt werden, wie Sie es von so etwas wie xterm erwarten würden.
  • Kopieren / Einfügen kann als Einzelklickvorgang konfiguriert werden (z. B. Linksklick zum Markieren und automatischen Kopieren, Rechtsklick zum Vergrößern, Mittelklick zum Einfügen).
  • Wie bei OS X Terminal wird beim Ziehen einer Datei oder eines Ordners in ein Minzfenster der vollständige Pfad an der Cursorposition eingefügt.
  • Alle Windows-Laufwerke sind verfügbar und werden standardmäßig unter / cygdrive "gemountet" (obwohl ich dies normalerweise in / mnt mit ändere mount -c /mnt).

Mein einziges Problem mit mintty ist, dass neuere Versionen (0.9.4+) etwas zu tun scheinen, das der Windows 7 UAC nicht gefällt. Daher werden Sie jedes Mal zur Ausführung aufgefordert. Dies scheint dazu zu führen, dass es mit unterschiedlichen Berechtigungen ausgeführt wird, sodass Dinge wie meine Netzwerklaufwerke nicht funktionieren. Ich weiß jedoch nicht, ob dies ein Minzproblem oder ein Problem mit meinem System ist.

James Sneeringer
quelle
Ich habe dieses Problem nicht unter Windows 7, daher liegt es höchstwahrscheinlich an Ihrem System. Ich befürworte die Verwendung von Mintty, das auch all diese netten neuen Windows-Verknüpfungen zum Verschieben von Fenstern unterstützt (Windows-Taste + Pfeile)
Renik
Das ist großartig - wissen Sie, ob es möglich ist, auf die mit Git gelieferte Shell zu verweisen (wie @ Mikel's Tipp für Console2)?
Anentropic
Standardmäßig ruft mintty alles auf, worauf Ihre $SHELLUmgebungsvariable zeigt. Sie können jedoch stattdessen ein anderes Programm als erstes Argument in der Befehlszeile angeben, was bei Verknüpfungen hilfreich sein kann. Der Autor hat eine schöne Liste mit Tipps zusammengestellt ( code.google.com/p/mintty/wiki/Tips ), die zeigen, wie Sie dies tun können.
James Sneeringer
2

Entschuldigung für die Eigenwerbung, ich bin der Autor eines anderen Konsolenemulators.

ConEmu ist ein Windows-Konsolenemulator mit Registerkarten, der mehrere Konsolen und einfache GUI-Anwendungen als ein anpassbares GUI-Fenster mit verschiedenen Funktionen darstellt.

Ein kurzer Auszug aus der langen Liste der Möglichkeiten:

  • Stufenlose Größenänderung, Maximierung und Vollbildmodus
  • Benutzerfreundliche Text- und Blockauswahl (über Tastatur oder Maus), Kopieren, Einfügen, Textsuche in der Konsole
  • Führen Sie ausgewählte Registerkarten als Administrator (Vista +) oder als ausgewählter Benutzer aus
  • Mehrere Shells in einem Grid / Splitscreen laufen lassen (neuste Entwicklung)
  • Verwenden Sie eine im System installierte oder in einen Ordner des Programms kopierte Schriftart (ttf, otf, fon, bdf)
  • Windows 7-Sprunglisten und Status in der Taskleiste
  • Integration mit DosBox (nützlich in 64-Bit-Systemen zum Ausführen von DOS-Anwendungen)
  • Die ursprünglich ausgeblendete Bildlaufleiste wird möglicherweise durch Bewegen des Mauszeigers oder Aktivieren der Checkbox in den Einstellungen angezeigt
  • Optionale Einstellungen (zB Palette) für ausgewählte Anwendungen
  • ANSI X3.64 und Xterm 256 Farbe

Hanselman Post , Benutzer- Bewertungen , ConEmu Tag auf superuser.com

Maximus
quelle
sieht gut aus, +1 für den Prince Of Persia-Screenshot :)
Anentropic
Antialiasing-Schriften wären noch besser
Anentropic
Es stehen drei Antialiasing-Optionen zur Verfügung: Keine, Standard und ClearType.
Charles Roper
0

Ich wünschte, PuTTY könnte wie Cygwin als Emulator für den lokalen Betriebssystemzugriff arbeiten. PuTTY ist mein Favorit, wenn ich auf einer Windows-Box stecke. Ich habe diese Frage hochgestuft und würde gerne auch etwas über einen besseren Emulator für Windows erfahren.

c1tadel1
quelle
1
Putty ist ein Terminalprogramm, keine Shell. Selbst wenn Sie putty verwenden könnten, um eine Verbindung zu Ihrer lokalen Windows-Box herzustellen (die Sie verwenden können, wenn ein SSH-Dämon ausgeführt wird), ist die eigentliche Shell immer noch die Shell, die Sie bei der Anmeldung über SSH ausführen.
mfinni
Ich habe nicht gesagt, dass es eine Shell ist, ich habe gesagt, ich wünschte, es würde wie ein Emulator funktionieren. Ich mag die GUI auf Kitt, das war mein Punkt.
c1tadel1
3
Wenn Sie Cygwin verwenden und PuTTY mögen, schauen Sie sich mintty an. Es ist in der Kategorie Shells im Cygwin-Setup-Programm verfügbar (oder überprüfen Sie die Quelle unter code.google.com/p/mintty ). Der Autor verwendete große Teile von PuTTY, um es zu erstellen, so dass es sich sehr ähnlich wie PuTTY verhält.
James Sneeringer
@ James, möchtest du deinen Münzvorschlag als Antwort veröffentlichen? Es sieht vielversprechend aus! Ich bin anscheinend im virtuellen Cygwin-Unix-Dateisystem stecken geblieben. Ich kann meine Windows-Dateien nicht wie in Git-Bash durchsuchen.
Anentropic
0

Das große Problem beim Kopieren und Einfügen liegt nicht an den Terminalemulatoren. es ist die Tastenkombination selbst.

Als die Verknüpfungen in Mac erfunden wurden, fügte Apple ihnen einen neuen Schlüssel hinzu: die Befehlstaste (auch als "splat" bekannt). Sie hat kein ASCII-Äquivalent.

Einige Jahre später, als Microsoft die gleichen Verknüpfungen kopierte, hatten PC-Tastaturen keine "Windows" - oder "Menü" -Tasten, sodass sie mit einer anderen, wenig benutzten Taste verbunden waren, die Sie mit Ihrem kleinen Finger halten konnten: der Strg-Taste. Das Problem ist, dass Strg-C, Strg-V usw. gültige ASCII-Codes sind und häufig auf Befehlszeilenschnittstellen verwendet werden.

Wenn Sie also Strg-C in einem Windows-Ternimal drücken, sollte es den Text kopieren oder den ausgeführten Befehl unterbrechen?

Javier
quelle
Das ist ein guter Punkt, ich hatte nicht bemerkt, dass OS X dort einen glücklichen Vorteil hatte. Dies ist jedoch ein UI-Problem, das die aktuellen Terminal-Apps für Windows nicht wirklich zu lösen versucht haben.
Anentropic
0

Wie bei fast jeder Windows-Software, die ich berührt habe, musste ich Schritte mit Unsicherheit und einer Art Brute-Force-Methode wiederholen ...

Aber irgendwo dort habe ich es zum Laufen gebracht, ohne neue Konsolen zu installieren!

Ich verfolgte die Lösung von AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Ich brachte es dazu, mit git bash zu arbeiten, indem ich Folgendes ausführte

  • öffne ein normales cmd,
  • wmic ausführen
  • Größe ändern (Doppelklick auf Fensterleiste)
  • schließen cmd
  • git bash öffnen
  • Größe ändern (hat nicht funktioniert ...)
  • Größe ändern

Ich nehme an, ich sollte klarstellen: Dies ist speziell für die Ermöglichung von Vollbild - nichts weiter.

Schwarzschrift
quelle
0

Wirf das einfach raus, da es noch nicht erwähnt wurde. Die PowerShell von MS ist jedoch eine wirklich gute CLI für Windows.

Es hat einige Bash-ähnliche Funktionen, die es etwas vertraut machen sollten. Meiner Meinung nach lohnt es sich zu lernen, ob Sie Skripte oder Automatisierungen mit Windows ausführen, auch wenn Sie in erster Linie ein * nix-Typ sind (wie ich). Sie können in kürzerer Zeit mehr tun, als gemeinsam etwas zu hacken, das auf Cygwin läuft.

Jamieb
quelle