Ctrl- Q실제로 대답입니다. 나는 ak2의 정답 의 여백에 맞지 않기 에 너무 긴 이것의 작은 역사를 던질 것이라고 생각했다 .
어두운 시대로 거슬러 올라가는 터미널은 긴 유선 또는 모뎀이있는 전화선을 통해 원격 장치 (원래 전신이 전신 키보다 작동하기가 훨씬 쉽기 때문에 원래 다른 터미널)에 연결된 대규모 장비였습니다. 유닉스가 개발 될 당시에는 ASCII 코드가 이미 확립되어 있었다 (IBM의 경쟁 EBCDIC 코드는 여전히 고려 대상 이었지만).
최초의 터미널은 수신 된 모든 문자의 인쇄 기록을 유지했습니다. 문자가 프린트 헤드보다 빨리 입력되지 않는 한 최소한 문자를 입력 할 수 있습니다. 그러나 CRT 기반 터미널이 가능 해지 자마자 문제는 CRT에 약 25 줄만 들어가고, 80 문자의 25 줄은 충분한 RAM을 나타내는 것으로서 화면.
따라서 독자가 따라 잡을 수 있도록 송신단이 일시 정지해야한다는 신호가 필요하다.
7 비트 ASCII 코드에는 문자 (0-31 및 127)를 제어하기위한 33 개의 코드 포인트가 있습니다. 그 중 일부는 다음과 같은 정말 잘 설립 목적을 가지고 NUL
, (빈 종이 테이프 스레딩, 간격 및 스플 라이스를위한 지도자) DEL
(모두 7 개 개의 구멍을 펀칭으로 표시된 종이 테이프에 문자 "밖으로 넘어"), BEL
(땡!), CR
, LF
, 등을 TAB
. 그러나 넷 (단말 장치 자체 제어하는 명백하게 정의 된 DC1
행 DC4
일명 Ctrl 키 + Q에서 Ctrl + R에서 Ctrl + S Ctrl 키 + T)를.
내 추측으로는 일부 엔지니어는 (니모닉이 진행됨에 따라) "Stop"에 대한 "S"와 "Continue"에 대한 "Q"가 너무 나쁘지 않다고 생각하고 DC3
"전송을 중지하십시오" DC1
를 의미하고 "ok , 지금 계속 보내십시오. "
유닉스가 벨 랩스 (Bell Labs)에 둥지를두고 세상에 나가기 전까지는 그 협약조차 이미 잘 확립되어있었습니다.
이 규칙은 소프트웨어 흐름 제어라고하며 실제 직렬 장치에서 매우 일반적입니다. 통신 채널에서 다른 목적으로 이러한 문자를 사용하는 것을 막기 때문에 올바르게 구현하기가 쉽지 않으며 수신 신호보다 더 많은 전송을 피하기 위해 보류중인 수신 문자보다 중지 신호를 처리해야합니다. 핸들.
실제적인 경우, 흐름 제어를 위해 직렬 데이터 스트림에서 대역 외의 추가 신호를 사용하는 것이 매우 바람직합니다. 추가 신호 와이어를 제공 할 수있는 직접 유선 연결에서는 하드웨어 핸드 셰이크가 사용 중이므로 다른 용도로 사용할 수 있습니다.
물론 오늘날의 터미널 창은 실제 물리적 직렬 포트를 사용하지 않고 스크롤 막대가 있으며 실제로 소프트웨어 핸드 쉐이킹이 필요하지 않습니다. 그러나 협약은 지속됩니다.
Richard Stallman은 emacs의 첫 번째 릴리스에서 증분 검색에 대한 Ctrl + S 맵핑에 대한 불만을 접수했으며 7 비트 소프트웨어 플로우 제어 연결에 의존해야하는 사용자에게는 다소 동정심이 없다는 주장을 기억합니다.
vim
Ctrl-S를 눌러 편집 내용을 저장했습니다. 어XD