저는 클라이언트를 사용하여 콘솔에서 Subversion 작업을 자주 하고 있습니다 svn
. 일반적인 작업 중 하나는 보기입니다 svn log
. 그러나 옵션에도 불구하고 그 출력은 일반적으로 꽤 방대합니다 --limit
. 나는 출력을 my $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
and 로 테스트했지만 and p4
에서도 동일하게 작동해야 합니다 . 전체 파일이 첫 번째 화면에 맞으면 종료하고 대체 화면으로 전환하지 않도록 지시하는 옵션입니다 . 이는 출력이 한 화면에 맞으면 전혀 사용되지 않은 것처럼 보입니다 .zsh
svn
-FX
less
less