2011-11-25 3 views
0

Windows 셸에서는 셸 창에서 텍스트를 선택하는 것만으로 출력을 일시 중지 할 수 있습니다 (빠른 편집 모드를 사용하도록 설정해야 함). Cygwin 쉘에서도 마찬가지입니다 (다시 QuickEdit 모드 사용).셸 출력 일시 중지

어떻게하면 emacs 셸에서 출력을 일시 중지 할 수 있습니까?

일부 작업이 매우 장황하고 큰 버퍼에서 필요한 텍스트를 검색하기가 어려워서 일시 중지해야합니다. 내가 M-x comint-stop-subjob을 실행하면

나는 "아니 SIGTSTP 지원"

메시지를 얻을 예는 다음과 일시 정지하려고으로 :

find . -type f -name "*.txt" -exec cat {} ';' 
+0

왜 출력을 일시 중지해야합니까? 출력이 오더라도 창을 스크롤하고 텍스트를 선택할 수 있습니다. – choroba

+0

일부 작업은 매우 자세합니다. 그들은 심지어 내 버퍼의 한계보다 더 많은 출력물을 출력 할 수 있으며 한계를 증가시키지 않을 것입니다. –

답변

3

요청하신 내용과 정확히 일치하지 않지만, clone-buffer은 원하는 내용에 가깝게 만듭니다. 편리한 키에 바인딩하고 find 명령을 실행 한 후 clone-buffer을 호출하면 버퍼의 내용이 새 버퍼로 복사됩니다. 원래 버퍼의 find 명령은 계속 실행되지만 복제 된 버퍼에는 복제 된 지점까지 검색 결과 만 포함됩니다.

원본 창에서이 명령을 여러 번 호출하여 일련의 중지 지점을 검토 할 수 있습니다. 실제로 원래 창을 일시 중지하는 방법을 모르겠습니다.

새로 복제 된 버퍼는 완전한 기능의 셸 버퍼입니다.

+0

감사합니다. 실제로 작동합니다! 나는 대답을 받기 전에 잠깐 기다려야 할 것이다. –

2

당신은 참조Cz를를 눌러 작업을 중지 할 수 있습니다 . 그런 다음 다시 입력하려면 fg을 입력하십시오.

+0

답변 해 주셔서 감사합니다. "No SIGTSTP support"라는 메시지가 나타나고 계속 로그를 남깁니다. –

+0

OK, 프로세스를 중지 할 수 없습니다. 출력을 파일로 리다이렉션하는 것은 어떨까요? 관심있는 행만 표시 ('grep') 할 수 있습니까? – choroba

+0

물론 가능합니다. 제 질문은 더 이상 쉽게 할 수있는 방법에 대한 것입니다. 이상적으로는 일시 중지 할 텍스트를 선택할 수있는 Windows 셸에서 이상적입니다. –

0

출력을 일시 중지하는 것에 대해 알지 못하지만 아마도 버퍼를 좁힐 수 있습니까?

  • CXNN 좁힐 투 영역
  • CXNN을 좁힐 투 페이지N와트
  • CX을을 전체로 확대 버퍼
+0

흥미로운 아이디어입니다. 불행히도 그것은 작동하지 않습니다. 나는 찾으려고 노력했다. -type f -name "* .txt"-exec cat {} ';' –