터미널에서 가로 스크롤


12

그래서 나는 이것에 대해 이미 두 가지 질문을 믿습니다. 그들 모두는 그들과 관계가 tail -f있고 따라서 사람들은 "더 적게 사용"이라는 탄젠트 한 대답을합니다.

모든 명령, 모든 명령 등에 필요합니다. 문제는 많은 콘솔 창을 실행해야하며 여러 모니터를 사용하더라도 여전히 축소해야합니다. 결과적으로 거의 모든 출력이 줄 바꿈으로 처리되고 읽기 어색합니다.

제안 된 해결책 중 하나는 echo -ne '\e[?7l'다소 효과적입니다. 이제 문제는 콘솔에 스크롤 막대를 얻는 방법이 있습니까?

우분투 12.10 터미널


예를 들어 (모든 "이것은 터미널이 작동하는 방식이 아닙니다"의견에 대한 응답으로) Windows 용 Ubuntu 콘솔 이이 기능을 지원 한다고 지적 합니다. 예컨대 애플리케이션 lsmcedit그것의 잘 작동이 때문에 화면의 폭버퍼 폭 별도로 처리된다.
cz

답변:


10

당신이 요구하는 것은 무한 너비의 터미널이며 그중 일부가 표시됩니다. 터미널이 전통적으로 작동하는 방식이나 애플리케이션이 터미널을 작동시키는 방식이 아닙니다.

예를 들어, 단말기의 너비가 무한대 인 경우 시각적 응용 프로그램이 화면 중간에 무언가를 표시하려고 할 때 어떻게 작동합니까?

당신이 생각 할 수있는 접근 뭔가 사용 GNU이다 screen(당신은 화면이 큰 단말기의 작은 창을 표시하는 방법을 알 수 있도록 다양한 크기의 여러 단말기에서 화면 세션을 첨부 할 수 있어야하고)와 설정 screen창 뭔가에 폭 화면 너비가 원래 너비라고 생각하도록 시각적 응용 프로그램을 속입니다.

처럼 (내 screen)

c=$COLUMNS # assuming your shell has that variable
screen -X width -w 1000
stty cols "$c"

일부 시각적 응용 프로그램은 잘 작동하지만 일부는 잘 작동하지 않습니다 (상대 위치 지정 또는 터미널 랩핑에 의존 할 때 설치). vim제대로 작동하는 것 같습니다.

그런 다음 붙여 넣기 데이터를 스크롤하고 복사하려면 유일한 옵션은 screen복사 모드 를 사용하는 것 입니다. ( <prefix>])를 누르고 커서 info -f screen -n Movement를 움직입니다 ( 복사 모드 에서의 이동 참조 ).

tmux 비슷한 기능을 가질 수 있습니다.

terminator터미널 에뮬레이터 (자바 기반)는 terminator우분투와 함께 제공 되는 것이 아니며 무한 터미널 너비로도 수행합니다.

  • 줄은 결코 감싸지 않습니다
  • 시각적 응용 프로그램은 화면 너비가 창에 맞는 것이지 무한대가 아니라고 알려줍니다.
  • 또한 screenterminfo 항목이 줄 바꿈을하지 않는다고 주장하므로 응용 프로그램에서이를 인식하고 줄 시작 부분의 BS가 이전 줄의 끝으로 이동하지 않는다는 점에서 위 의 기반 솔루션 보다 더 잘 작동 합니다.

이미 gui 환경에 있으므로 시각적 편집기에서 파일을 열려면 터미널에서 gui를 시작하면됩니다. 그것들을 복사하는 것이 더 쉽습니다. 어쨌든 터미널에 있습니다. 단말기에서 블록을 선택하기 만하면 쉽게 차단 할 수 없기 때문에 터미널에 있습니다. 실행 screen -X width -w 1000수익률을 No screen session found., 어떤 아이디어?
srcspider

@srcspider 내가 말했듯이, 당신은 내에서해야합니다 screen. screen먼저 시작하십시오 .
Stéphane Chazelas

좋아 내가 지금 당신을 얻을 것 같아요, 기본적으로 나는 실행해야합니다screen -X width -w 1000 <mycommand>
srcspider

1
@srcspider. 번호 screen는 터미널 기반 터미널 에뮬레이터입니다. 따라서 명령 을 실행하여 시작 xterm또는 시작 과 같이 gnome-terminal먼저 시작해야합니다 screen. 그런 다음 새 터미널 에뮬레이터 내에서 해당 screen -X명령을 실행 screen하여 창 너비를 변경하도록 지시합니다. terminator선호 하는 에뮬레이터에 대한 편집 된 답변을 참조하십시오 .
Stéphane Chazelas

감사! 어쨌든 나는 그들이 일을하지 못하게하더라도, 적어도 지금은 내가 왜 그런 식으로 일할 수 없는지 알고 있습니다.
srcspider

6

Emacs는 주로 편집기 및 IDE¹이지만 문제와 매우 잘 일치합니다. Emacs 윈도우 내에서 프로그램을 실행할 수 있으며 Emacs는 무한 너비와 높이의 벙어리 터미널에 프로그램을 표시합니다. 커서가 버퍼의 끝에 있으면 프로그램이 출력을 생성 할 때 창이 스크롤됩니다. 커서를 움직이면 출력이 증가함에 따라 창이 그대로 유지됩니다.

Emacs 버퍼에서 쉘을 시작하려면 M-x shell RET(ie Alt+ x shell Return)를 입력하십시오 . 다른 쉘을 시작하려면 C-u M-x shell RET또는 M-1 M-x shell RET을 입력하십시오 . 각 쉘에서 프로그램을 실행하고 원하는대로 여러 창에서 버퍼를 배열 할 수 있습니다.

¹ 때로는 에디터보다 더 나은 OS라고 말하지만, 사용하지 않는 사람들에 의해서만 농담 일뿐입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.