Ich verwende zsh in OS X Terminal.app und habe mich schon seit einiger Zeit nach einer Möglichkeit gesehnt, zwischen den vorherigen / nächsten Eingabeaufforderungen in der Terminalausgabe hin und her zu springen.
Eine Annehmlichkeit dabei wäre, in der Lage zu sein, das Ende der Ausgabe jedes Befehls zu überprüfen (und Fehler zu verfolgen); z.B. wenn Sie mit ./configure Inhalte aus dem Quellcode erstellen; machen; make install. Hinweis: Ich beziehe mich offensichtlich nicht auf das Hin- und Herspringen im Befehlsverlauf, sondern auf eine Möglichkeit, einen Blick auf die Enden der Ausgabe jedes Befehls zu werfen.
Hat jemand von solchen Funktionen in der * nix (vorzugsweise auch Mac) Welt gehört? Wäre dafür eine Art OS-zentriertes Terminal-Plugin erforderlich, oder kann dies programmgesteuert über ein Shell-Skript erfolgen, das mit einer Tastenkombination verknüpft werden kann? Vielleicht bin ich der einzige, der darüber nachdenkt? :) :)
quelle
make
mitsudo
sollten Sie nie als root kompilieren (müssen). nurmake install
könnte root erfordern.Antworten:
Ich habe noch nie von einer solchen Funktion mit typischen Muscheln (zsh, fish oder sonstwie) in typischen Terminalemulatoren gehört. Sobald Sie Enteran einer Eingabeaufforderung gedrückt haben , existiert diese Befehlszeile nur als Verlaufseintrag für die Shell und als eine Reihe angezeigter Zeichen (nicht von der Befehlsausgabe zu unterscheiden) für den Terminalemulator.
Auf der anderen Seite ist die Art der Navigation, nach der Sie fragen, selbstverständlich in Shells verfügbar, die in einem Emacs- Puffer ausgeführt werden.
M-x shell
Wenn Sie Ihre übliche Shell und die Befehlszeilenversion von EmacsM-x eshell
möchten oder wenn Sie eine in Emacs integrierte Shell möchten.quelle
C-c C-p
undC-c C-n
, um zur vorherigen / nächsten Eingabeaufforderung zu navigieren. Vim hat keine ähnliche Funktion::shell
Startet nur eine Shell, die direkt mit dem Terminal interagiert, in dem Vim ausgeführt wird (und Sie können nicht mit Vim interagieren, bis die Shell beendet wird).C-c C-p
. Vielen Dank!eshell-show-output
, der noch genauer zu tun scheint, wonach er strebt, wenn er diese Frage stellt.In
eshell
Emacs gibt es einen Befehl (der hier in anderen Antworten noch nicht erwähnt wurde), der die Aufgabe anzugehen scheint, über die Sie sich implizit wundern, wenn Sie Ihre Frage stellen -eshell-show-output
; seine Beschreibung ( C-h feshell-show-output
):Der Verengungseffekt (mit einem Präfixargument, dh C-u C-c C-r) könnte für Sie bei Ihrer Aufgabe ebenfalls interessant sein.
quelle
Eine Antwort auf Ihre Frage ist die Verwendung von Emacs mit Mx Eshell. Dies gibt Ihnen eine einigermaßen volle Shell-Funktionalität innerhalb von Emacs. Ein kurzer Blick auf Dateien kann natürlich durch Öffnen im Editor erfolgen. Noch wichtiger ist jedoch, dass Sie die Suchfunktion verwenden können, um den Puffer nach früheren Ausgaben (oder früheren Eingabeaufforderungen) zu durchsuchen.
Eine andere Antwort ist die Verwendung des Bildschirms. Ich glaube, dies hat auch eine Suchfunktion des Verlaufs, aber es ist zu lange her, seit ich ihn verwendet habe, um mich an die Tastenkombinationen zu erinnern.
quelle
eshell-show-output
, der noch genauer zu tun scheint, wonach er strebt, wenn er diese Frage stellt.Um den Kommentar von Xenoterracide zu erweitern ...
Anstatt zu rennen
make
, stecke ich das in meine.bashrc
dann laufen
m
stattmake
.Dadurch werden alle Ausgaben
make.log
auf die Konsole übertragen, aber nur Fehler ausgegeben .Auf diese Weise haben Sie keine Tonnen Ausgabe auf dem Bildschirm, können leicht Fehler erkennen und lesen,
make.log
um Probleme zu diagnostizieren, wenn dies fehlschlägt.quelle
Ich bin mir nicht sicher, ob dies eine Antwort sein sollte, aber da ich ein Bild poste, denke ich, dass es funktionieren wird.
Sie können Ihre Bash-Eingabeaufforderung anders aussehen lassen, damit sie leicht erkannt wird, oder zsh verwenden und Ihre Eingabeaufforderung so aussehen lassen.
Ich nahm meine Aufforderung von irgendwo online, ich vergesse wo. Und ich habe es mit einer anderen zshrc-Datei kombiniert, die ich woanders gefunden habe. Ich werde einfach das Ganze hier einfügen. Die Eingabeaufforderung befindet sich ganz unten, wenn Sie das nicht möchten.
quelle
PR_HBAR
einer der Variablen durchführte.