!["더 적게" 잘린 줄을 만들고 < 1 화면 이후에도 계속 종료할 수 있는 방법이 있습니까?](https://linux55.com/image/73545/%22%EB%8D%94%20%EC%A0%81%EA%B2%8C%22%20%EC%9E%98%EB%A6%B0%20%EC%A4%84%EC%9D%84%20%EB%A7%8C%EB%93%A4%EA%B3%A0%20%26lt%3B%201%20%ED%99%94%EB%A9%B4%20%EC%9D%B4%ED%9B%84%EC%97%90%EB%8F%84%20%EA%B3%84%EC%86%8D%20%EC%A2%85%EB%A3%8C%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
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"