최근에 나는 bash를 보다 효율적으로 사용하는 방법에 대한 몇 가지 팁 기사를 읽었으며, 그들은 내가 시도한 적이 없는 조합을 언급했습니다. 즉, Ctrl-S(명령을 실행하지 않고 프롬프트에서) Ctrl-R에서 다른 검색 방법으로 이동하는 것입니다. Ctrl-R을 많이 사용하기 때문에 이것은 흥미 롭습니다.
그러나 액세스 권한이 있는 bash 설치(Mac OS Catalina, Windows용 Git, ssh를 통한 Debian 10, ssh를 통한 NixOS)에서는 활성화할 수 없습니다. 대부분 방해가 될 수 있는 다양한 커스터마이징이 있기 때문에 나도 시도해 보았지만 --noprofile --norc
소용이 없었습니다.
각 경우에 나는 물론 먼저 기록에서 적절한 줄을 선택하여 검색할 "앞으로"가 있도록 한 다음 키 코드를 시도했지만 아무 일도 일어나지 않았습니다. (프롬프트가 없을 뿐만 아니라 문자를 입력하면 검색 없이 줄에 표시됩니다.) 다시 Ctrl-R을 사용하여 먼저 무언가를 찾으세요.
문서는 기본적으로 작동하는 것처럼 들립니다.. 그래서 무슨 일이야?
답변1
기본 단축키는 CtrlSXOFF 제어 흐름 명령에 대한 단축키와 충돌합니다. 이는 XOFF 명령을 비활성화하거나 readline 명령에 다른 키 바인딩을 사용하여 테스트할 수 있습니다:
stty -ixon # or,
bind '"\C-f": forward-search-history'
왜 이 단축키를 사용하는지 잘 모르겠습니다. 적어도 그 이후로는 그게 기본값이었어배쉬 1.1130년 전에 출시되었습니다. 하지만 추측해야 한다면 이렇게 말할 것입니다.이맥스키바인딩과 emacs(일반적으로 터미널을 완전히 제어하는 응용 프로그램)는 CtrlS이를 바로가기로 사용하는 데 아무런 문제가 없을 수 있으므로 이를 bash에 추가하는 사람은 아마도 그것에 대해 너무 많이 생각하지 않고 기본값으로 사용할 것입니다. 분명히 readline은 BSD의 XON/XOFF를 꺼야 합니다.1.03부터, 아마도 그들은 다른 시스템에서는 기본적으로 작동하지 않는다는 사실을 알지 못했을 것입니다.