파일 관리자나 바로 가기를 통해 실행되는 터미널 응용 프로그램에서 Ctrl+S를 비활성화하는 방법은 무엇입니까?

파일 관리자나 바로 가기를 통해 실행되는 터미널 응용 프로그램에서 Ctrl+S를 비활성화하는 방법은 무엇입니까?

지침을 사용하여 터미널에서 Ctrl+를 성공적으로 비활성화했습니다.S여기. 그러나 내가 시작하면단말기"터미널 외부" 프로그램(예: 터미널 vim)에서 Ctrl+는 S여전히 화면을 정지합니다.

"터미널 외부"란 무엇을 의미합니까?

  • kitty -e vim키보드 단축키를 사용하여 터미널에서 vim 열기와 같은 명령 실행
  • 사용vim 서버파일 관리자에서 터미널 vim을 실행하면 최종 효과는 위와 동일합니다.

해결책이 있나요? (+를 사용하는 것을 잊어버리고 Ctrl계속 저장하는 것을 제외하고 S;)

(gVim을 사용할 수 없거나 사용하고 싶지 않은 몇 가지 이유가 있습니다. stty -ixonvim 내에서 gVim을 실행하면 작동하지 않으며, 사용하지 않는 데에는 충분한 이유가 있다고 확신합니다. 저는 아직 stty에 익숙하지 않습니다. ..)

답변1

다음 항목에 추가하세요 ~/.vimrc.

silent !stty -ixon

이로 인해 tty가 아닌 경우 vim( gvim모르거나 테스트할 수 없음) 다음을 시도하십시오.

silent !test -t 0 && stty -ixon

처럼 보인다그들은 -ixon최신 버전의 vim에서 기본값을 설정하기로 결정했기 때문에 이는 곧 vim에서 더 이상 문제가 되지 않을 것입니다(vim 창립자의 원래 패치에 유의하십시오).질문테스트되지 않은 쓰레기이지만 궁극적으로수리하다올바르게 수행되었습니다).

일반적으로 (다른 프로그램의 경우) 보편적인 해결책은 없습니다 ;-)

xterm에는 초기 모드를 설정하는 데 사용할 수 있는 ttyModes리소스(및 -tm옵션)가 있지만 그렇지 않습니다.아니요지원하다 -ixon. kitty이것도 없는 것 같아요 .


vim 내에서 실행하면 stty -ixon작동하지 않습니다

이는 vim외부 명령을 실행하여 터미널의 초기(일반적으로 원본이 아닌) 상태가 복원된 다음 "Enter 키를 누르거나 명령을 입력하세요" 프롬프트에 응답하면 원래 모드로 다시 변경되면 수행된 모든 변경 사항이 손실되기 :!command때문입니다 .command


추가 참고 사항으로, 이 사이트와 다른 곳에 퍼진 일반적인 민속(" /"는 " ^Sand" ^Q이전 시대의 시대착오 일 뿐임)은 소프트웨어 흐름 제어가 거짓입니다.lesstmux~ 해야 하다모든 직렬 회선에서 사용아니요RTS/CTS 대역 외 신호(특히높은 전송 속도 라인에서) 그리고 모든 종류의 가상 tty에서는 완전히 쓸모없는 것입니다.

바라보다이것IXON장치에 연결하기 위해 실제 직렬 회선을 사용하는 경우, 블라인드 종료(이 경우 로컬 tty의 SSH 클라이언트를 통해)로 인해 문제가 발생할 수 있습니다. 이를 호출하는(또는 정확하게 복사하는) 대부분의 프로그램은 cfmakeraw동일한 방식으로 실패할 수밖에 없습니다( script(1)이것이 가장 먼저 떠오르는 것입니다).

관련 정보