"더 적게" 잘린 줄을 만들고 < 1 화면 이후에도 계속 종료할 수 있는 방법이 있습니까?

"더 적게" 잘린 줄을 만들고 < 1 화면 이후에도 계속 종료할 수 있는 방법이 있습니까?

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-screenchop-long-linesless앞으로더 적은 사람에게 전달하십시오. 이 같은:

pager = "cut -c -512 | less --quit-if-one-screen"

또는 터미널 너비에 따라 변경하려면 다음을 수행하십시오.

pager = "cut -c -$COLUMNS | less --quit-if-one-screen"

관련 정보