
私は、コンソールでクライアントを使用してサブバージョンを頻繁に操作していますsvn
。一般的なタスクの1つは表示ですsvn log
が、オプションに関係なく、その出力は通常かなり大きくなります--limit
。私は、出力をパイプで私の$PAGER
(正確less
には)に送りたいと思っています。これは、高度な補完機能git log
で実現できるのではないかと思います。つまり、zsh
svn log path1 path2 path3<Enter>
配管工事が追加されます:
svn log path1 path2 path3 | $PAGER
これは私にとって、エイリアスの動作方法に似ていますが、「反対側」から見たものです。
これはzshで可能ですか?
答え1
これはシェル関数で実行できます。これを に入れるだけです~/.zshrc
。
svn() {
if [ "$1" = "log" ]
then
command svn "$@" | less -FX
else
command svn "$@"
fi
}
私は と でそれをテストしましたbash
が、とp4
でも同じように動作するはずです。ファイル全体が最初の画面に収まる場合は終了し、別の画面に切り替えないように指示するオプション。これにより、出力が 1 つの画面に収まる場合は がまったく使用されていないように見えます。zsh
svn
-FX
less
less