
Ich arbeite häufig mit Subversion in der Konsole und verwende den Client svn
. Eine der häufigsten Aufgaben ist das Anzeigen von svn log
; die Ausgabe ist jedoch trotz der --limit
Option normalerweise ziemlich umfangreich. Ich möchte die Ausgabe an meinen $PAGER
(genauer gesagt less
) weiterleiten, genau wie ich. Ich frage mich, ob dies mit erweiterten Vervollständigungsfunktionen git log
erreicht werden kann ; d. h. immer wenn ich tippezsh
svn log path1 path2 path3<Enter>
die Rohrleitungskonstruktion wird angehängt:
svn log path1 path2 path3 | $PAGER
Für mich ähnelt dies der Funktionsweise von Aliasnamen, allerdings von der „anderen Seite“.
Ist das in zsh möglich?
Antwort1
Sie können dies mit einer Shell-Funktion tun. Fügen Sie diese einfach in Ihr ein ~/.zshrc
.
svn() {
if [ "$1" = "log" ]
then
command svn "$@" | less -FX
else
command svn "$@"
fi
}
Ich habe das mit bash
und getestet, aber es sollte mit und p4
genauso funktionieren . Die Optionen geben an, dass es beendet werden soll, wenn die gesamte Datei auf den ersten Bildschirm passt, und nicht zum anderen Bildschirm wechseln soll. Dadurch sieht es so aus, als ob es überhaupt nicht verwendet wurde, wenn die Ausgabe auf einen Bildschirm passt.zsh
svn
-FX
less
less