나는 멋진 git 인식 ksh 프롬프트 함수를 직접 작성했습니다. 여기서는 여러분이 내 문제를 부풀리지 않고 볼 수 있도록 최소한의 실제 예제를 제공합니다.
#!/bin/ksh
function _test_prompt
{
prompt="`whoami`@`hostname` > "
[[ $(id -u) -eq 0 ]] && prompt="ROOT@`hostname` # "
print "\n\w"
print -n "$prompt"
}
export readonly PS1='$(_test_prompt)'
나는 내 것부터 시작했다 .kshrc
.
문제는 더 길고 예쁜 git 로그를 보려고 할 때 프롬프트의 줄 바꿈이 출력 상단을 잘린다는 것입니다. 예를 들어
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s'
다음과 같이 표시됨
* f0490d0 - Make sure fb is big enough to handle reconfigure (3 years, 10 months ago) <Keith Packard>
* 7caa6ce - Add xrandr-auto sample script (3 years, 10 months ago) <Keith Packard>
* f59c924 - (tag: v0.2) Update to version 0.2 (7 years ago) <Keith Packard>
* a6c8969 - Add --auto switch, a shortcut for --config "xrandr --auto" (7 years ago) <Keith Packard>
* d45135b - Add manual (7 years ago) <Keith Packard>
* ef165dc - add .gitignore (7 years ago) <Keith Packard>
* d927ec1 - Autotool (7 years ago) <Keith Packard>
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~/git-misc/x-on-resize
user@hostname >
그리고 출력의 첫 번째 줄은 페이지 위로 한 번만 볼 수 있습니다.
~/git-misc/x-on-resize
user@hostname > git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s'
* 617e5ed - (HEAD -> master, origin/master, origin/HEAD) Use mode ID instead of mode for autoconfig (3 years, 10 months ago) <Keith Packard>
* f0490d0 - Make sure fb is big enough to handle reconfigure (3 years, 10 months ago) <Keith Packard>
(이전 페이지 맨 아래에 있던 내용을 잘라냈습니다.)
상상할 수 있듯이 이는 매우 짜증나는 일입니다. 이 경우 실제로 가장 최근 커밋을 잃어버렸고 이를 찾으려면 위로 스크롤해야 했습니다.
이는 로그 출력이 한 화면에 맞는 경우에만 발생합니다(그렇지 않으면 축소됩니다).
당신의 도움을 주셔서 감사합니다!
답변1
늘 그렇듯, 실제로 시간을 내어 질문한 후 문제를 해결했습니다.
방금 pager.log
git config 변수를 less -RFc
; 로 설정했는데 -c
관련 스위치는 다음과 같습니다. less
화면을 아래에서 위로 다시 그리는 것이지 그 반대는 아닙니다.
분명히 이것은 실제로 ksh 문제가 아닙니다. 나는 매우 미안 해요.