less
많은 사람들과 마찬가지로 나는 기본적으로 options 와 함께 출력(diff, 로그 등의 경우)을 git으로 보내는 git을 사용합니다 -FRSX
. 재정의된 옵션으로 호출되도록 호출기를 설정하여 .gitconfig에서 이러한 옵션을 재정의할 수 있습니다. 예를 들어:
pager=less -F -+S
less
한 화면 미만 출력 후 종료 하도록 설정한 경우아니요줄을 자르면(예: less -F -+S
위의 예에서와 같이) 명령을 실행한 후 자동으로 명령 프롬프트로 돌아갑니다 log
.
그러나 만약 내가하다줄을 자르도록 하세요(즉, 그냥 사용 less -F
).모든 줄이 잘립니다., 그러다가 끝나면아니요즉시 종료되지만 인쇄 END
하고 를 누를 때까지 기다립니다 Q. 이는 약간 성가신 일입니다.
(문제의 행동은아니요내 터미널보다 줄이 모두 좁아서 줄이 잘리지 않으면 이런 일이 발생합니다. 문제는 원래대로 발생하지 않았습니다묻다줄을 자르지만 그것이 실제로 수행되는 작업입니다. )
less
줄을 끊고 한 화면 미만 후에 자동으로 종료하는 방법이 있습니까 ?
답변1
글쎄요... 그건 페이지 매김 개념에 어긋나는 거죠... 그렇죠? :-)
하지만 귀하의 질문에 대답하자면, 그렇지 않을 것이라고 확신합니다. Less의 소스 코드는 다음과 같습니다.
/*
* The char won't fit in the line; the line
* is too long to print in the screen width.
* End the line here.
*/
if (chopline || hshift > 0) <--- you have chop lines (-S)
{
...
quit_if_one_screen = FALSE; <--- this resets -F
}
죄송합니다:-)
답변2
줄이 잘리면 less
효과적으로 비활성화되므로 이 문제를 혼자서 해결할 수는 없습니다. 대안은 줄을 자르는 것입니다--quit-if-one-screen
chop-long-lines
less
앞으로더 적은 사람에게 전달하십시오. 이 같은:
pager = "cut -c -512 | less --quit-if-one-screen"
또는 터미널 너비에 따라 변경하려면 다음을 수행하십시오.
pager = "cut -c -$COLUMNS | less --quit-if-one-screen"